DROP、DELETE 与 TRUNCATE 的区别

三种都可以表示删除,其中的细微区别之处如下:

DROP DELETE TRUNCATE
SQL 语句类型 DDL DML DDL
回滚 不可回滚 可回滚 不可回滚
删除内容 从数据库中 删除表,所有的数据行,索引和权限也会被删除 表结构还在,删除表的 全部或者一部分数据行 表结构还在,删除表中的 所有数据
删除速度 删除速度最快 删除速度慢,需要逐行删除 删除速度快

因此,在不再需要一张表的时候,采用 DROP;在想删除部分数据行时候,用 DELETE;在保留表而删除所有数据的时候用 TRUNCATE。

发表回复

后才能评论

评论(1)