DDL DML DCL区别 truncate delete drop区别 数据表rename 若干小特性
- 2018-01-18 22:03:00
- admin
- 原创 1947
一、DDL、DML、DCL区别
DDL(data definition language)数据库定义语言,建库、建表等操作;
DML(data manipulation language)数据操纵语言,查询、更新等操作;
DCL(Data Control Language)数据库控制语言,账户创建、授权等操作;
二、truncate、delete、drop区别
truncate是ddl,删除内容,数据不可以回滚,自增id恢复从头开始;
delete是dml,删除内容,数据可以回滚,不影响自增id;
drop是ddl,删除表结构和内容;
执行速度:drop > truncate > delete
三、数据表rename
1 rename是原子操作,rename时其它线程不能读取任何表;
2 rename可以对多个表同时重命名,重命名操作从左到右进行;
3 rename执行时不能有锁定的表,也不能有活动状态的事务;
4 rename其中一个表失败时,整个操作都会回滚;
四、若干小特性
1、NULL字段不参与比较,选择或者排除数据需要使用IS NULL或者IS NOT NULL;
2、on duplicate key update不影响NULL字段,InnoDB引擎下会影响自增ID,即使实际操作是update;
发表评论