DDL DML DCL区别 truncate delete drop区别 数据表rename 若干小特性

2018-01-18 22:03:00
admin
原创 1799
摘要:DDL DML DCL区别 truncate delete drop区别 数据表rename 若干小特性

一、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;

发表评论
评论通过审核之后才会显示。