相同点
两者都是删除表数据 但不会删除表结构
不同点
1.delete支持按条件删除,TRUNCATE不支持。
2.delete 删除后自增列不会重置,而TRUNCATE会被重置。
3.delete是逐条删除(速度较慢),truncate是整体删除(速度较快)。
4.delete删除是一条一条删除,并不会改变表结构,属于DML,而truncate删除表数据是将表删掉,重新新建一张表,属于DDL。
5.delete不会释放空间,而TRUNCATE会释放空间。
6.delete 支持回滚,TRUNCATE不支持。
delete from table where 1=1;
truncate table;