文章目录
十.创建和管理表
1.创建表
CREATE TABLE IF NOT EXISTS myemp1( #需要用户创建表的权限
id INT,
emp_name VARCHAR(15),#使用VARCHAR来定义字符串,必须在使用时指定其长度
hire_date DATE
);
基于现有表创建新表(同时导入数据)
CREATE TABLE myemp2
AS
SELECT employee_id,last_name,salary
FROM employees;
若不想导入数据,只想导入字段名
CREATE TABLE myemp3
AS
SELECT *
FROM employees
WHERE 1 = 2;(让条件永远不成立即可)
2.修改表
关键字:ALTER TABLE
2.1 添加一个字段
#默认添加到表中最后一个字段
ALTER TABLE myemp1
ADD salary DOUBLE(10,2);#10表示一共十位,2表示小数点后几位
#添加到第一位
ALTER TABLE myemp1
ADD phone_number VARCHAR(20) FIRST;
#添加到某字段之后
ALTER TABLE myemp1
ADD emile VARCHAR(45) AFTER id;
2.2 修改一个字段
修改的是:数据类型,长度,默认值
关键字 MODIFY
ALTER TABLE myemp1
MODIFY emp_name VARCHAR(25);
2.3 删除一个字段
关键字:DROP COLUNM
ALTER TABLE myemp1
DROP COLUMN emile;
2.4 重命名一个字段
关键字:CHANGE
ALTER TABLE myemp1
CHANGE salary mouth_salary DOUBLE (10,2);#类型也需要写上
3.重命名表
关键字:RENAME
RENAME TABLE myemp1
TO myemp11;
4.删除表
关键字:DROP TABLE
DROP TABLE IF EXISTS myemp2;
5.清空表
关键字:TRUNCATE TABLE
表示清空表中的所有数据,但是表的结构(字段)保留
TRUNCATE TABLE myemp1;
6.COMMIT和ROLLBACK
COMMIT:提交数据。一旦执行COMMIT,则数据就被永久的保存在了数据库中,意味着数据不可以回滚。
ROLLBACK:回滚数据。一旦执行ROLLBACK,则可以实现数据的回滚。回滚到最近的一次COMMIT之后
7.TRUNCATE TABLE 和DELETE FROM的区别
TRUNCATE TABLE:一旦执行此操作,表数据全部清除。同时,数据是不可以回滚的。
DELETE FROM:一旦执行此操作,表数据可以全部清除(不带WHERE)。同时,数据是可以实现回滚的
8.DDL和DML的说明
DDL的操作一旦执行,就不可回滚。指令SET autocommit = FALSE对DDL操作失效。
DML的操作默认情况,一旦执行,也是不可回滚的。但是,如果在执行DML之前,执行了SET autocommit = FALSE,则执行的DML操作就可以实现回滚。