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