常用
删除后,除非有备份,否则,不能恢复
CREATE DATABASE mytest1;
CREATE DATABASE mytest2 CHARACTER SET 'gbk';
CREATE DATABASE IF NOT EXISTS mytest3 CHARACTER SET '字符集';
如果要创建的数据库已经存在,则创建不成功;反之,创建成功
SHOW DATABASES;
USE mytest1;
SHOW TABLES;
SELECT DATABASE() FROM DUAL;
SHOW TABLES FROM mysql;
ALTER DATABASE mytest2 CHARACTER SET 'utf8';
DROP DATABASE mytest1;
DROP DATABASE IF NOT EXISTS mytest1;
如果要删除的数据库存在,则删除成功;如果不存在,也不会报错
需要用户具备创建表的权限
前提:先要选好表创建的位置
USE 数据库
SHOW TABLES;
SHOW TABLES FROM 数据库;
CREATE TABLE IF NOT EXISTS myemp1(
#字段
id INT,
emp_name VARCHAR(15),
hire_date DATE;
)
查看表结构和查看创建的表的语句的结构
DESC myemp1;
SHOW CREATE TABLE myemp1;
同时导入数据,并且可以使用别名,两表互不影响
CREATE TABLE myemp1
AS
SELECT eemploye_id,last_nmae,salary
FROM employees;
#不要其中的数据
CREATE TABLE myemp1
AS
SELECT eemploye_id,last_nmae,salary
FROM employees
WHERE 1 =2;#1不可能等于2
——>ALTER TABLE
默认添加到表中最后的字段
ALTER TABLE myemp1
ADD salary DOUBLE(10,2);#一个10为,小数位2位
添加到第一位
ALTER TABLE myemp1
ADD phone_number VARCHAR(20) FIRST#此字段为表中的第一列
指定位置
ALTER TABLE myemp1
ADD email VARCHAR(45) AFTER emp_name#在emp_name的后面
改长度
ALTER TABLE myemp1
MODIFY emp_name VARCHAR(25);
ALTER TABLE myemp1
CHANGE salary monthly_salary DOUBLE(12,2);
#久名字 新名字 新范围
ALTER TABLE myemp1
DROP COLUMN email;
RENAME TABLE mytemp1
TO my_emp1;
ALTTER TABLE myemp2
TO em_emp2;
表的结构和数据都删除了,释放表空间
DROP TABLE IF EXISTS my_emp2;
清空数据,保留表结构
TRUNCATE TABLE employees_copy;
都可以对表进行删除,同时保留表结构
TRUNCATE TABLE:一旦操作,表数据全部清除,同时,数据不回滚
DELETE FROM:一旦执行,表数据可以全部删除(可以指定删除),数据可以回滚
COMMIT:提交数据,一旦执行,则数据永久保留,不可以回滚
ROLLBACK:回滚数据,一旦执行,可以回滚,到最近的一次COMMIT使用
DDL:一旦执行,不可以回滚(执行完DDL后会自动进行提交,不受任何的影响)
DML:一旦执行,也是不可以回滚,但是可以在执行DML前执行SET autocommit = false,则执行DML 操作可以回滚
如果操作成功,则执行;如果语句中有一项不合格(eg:表不存在)则该语句回滚
参与评论
手机查看
返回顶部