delete和truncate区别如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/20863.html
一、灵活性:delete可以条件删除数据,而truncate只能删除表的所有数据;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/20863.html
delete from table_test where ...文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/20863.html
truncate table table_test文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/20863.html
二、效率:delete效率低于truncate,delete是一行一行地删除,truncate会重建表结构,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/20863.html
三、事务:truncate是DDL语句,需要drop权限,因此会隐式提交,不能够rollback;delete是DML语句,可以使用rollback回滚。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/20863.html
四、触发器:truncate 不能触发任何Delete触发器;而delete可以触发delete触发器。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/20863.html