相同点
- 都是对表中的数据进行删除操作,三者都有清空表的功能;
不同点
删除内容
- delete是DML语句,可以选择删除部分数据,也可以删除全部数据。
- drop是DDL语句,删除表结构及所有数据,同时删除表的结构。
- truncate也是DDL语句,清空表但不删除表结构。
回滚
- delete删除的数据可以回滚,drop和truncate无法回滚。
释放空间
- drop和truncate会释放空间,delete删除不会。
执行速度
- 一般来说: drop> truncate > delete。
安全性
- 小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及。
谢谢dalao的点赞~