作用
都可以用于删除一张数据表的全部数据
-- 删除表a的全部数据
delete from a;
truncate table a;
区别
delete
属于DML,而truncate
属于DDL
truncate
只能用于表,而delete
可以用于表、视图等
delete
可以加where
子句限制条件,truncate
不能
delete
支持事务,truncate
不支持
truncate
删除效率比delete
高
总结
一般来说,只有删除整张表的数据,表的数据量大,且无需考虑撤回的情况下,可以考虑使用truncate
以提升性能