DML数据操作语言
增加数据insert
字段名和值要对应,没有指定的字段默认为NULL。
(字段名1, 字段名2, 字段名3…) 这个可以省略,但是values 后面的值要全部写上,不能少任何一个字段的值。
// 插入一条记录
insert into 表名(字段名1,字段名2,...) values (值1,值2,...)
// 插入多条记录
insert into 表名(字段名1,字段名2,...) values (值1,值2,...),(值1,值2,...),...
// 把查询出来的结果插入一张表(很少用)
insert into 要插入的表名 select * from 要复制的表名;
修改数据update
update 表名 set 字段名1=值1,字段名2=值2,... where 条件
删除数据delete
delete from 表名 where 条件;
// 开启事务
start transaction;
//删除整张表数据
delete from 表名; //DML操作
// 回滚
rollback;
原理:表中的数据被删除了,但是这个数据在硬盘上的真实存储空间不会被释放!
这种删除缺点是:删除效率比较低。
这种删除优点是:支持回滚,后悔了可以再恢复数据!
//删除整张表数据
truncate table 表名; //DDL操作
原理:表被一次截断,物理删除。
这种删除缺点:不支持回滚。
这种删除优点:效率比较高,快速。
表非常大的时候推荐使用truncate,不过在使用之前必须告知"数据无法恢复"。