比较drop、delete、truncate
一:删除内容:
delete是DML语句,可以选择删除部分数据,也可以删除全部数据。
drop是DDL语句,删除表结构及所有数据,同时删除表的结构所依赖的约束,触发器,索引。
truncate也是DDL语句,删除的是表中全部的数据,不能选择删除部分数据,不删除表结构。
二:回滚:
delete删除的数据可以回滚,drop和truncate无法回滚。
三:释放空间:
drop和truncate会释放空间,delete删除不会。
四:执行速度:
一般来说: drop> truncate > delete。
五:安全性:
小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及。
六:相同点:
drop,truncate都是DDL语句,执行后会自动提交。
truncate和不带where子句的delete, 以及drop都会删除表内的数据。