用delete和trancate删除表记录的区别

相同点

  都能删除表中的全部数据;

不同点

  1.truncate是DDL,delete是DML命令,所以truncate命令更准确的说是修改表的定义(属性);

  2.truncate不支持事务回滚,而delete支持事务回滚;

  3.如果表的主键是自增的,那么使用truncate清空表后会初始化自增属性(重新从1开始自增);而delete删除所有数据后,主键自增属性不会被初始化,接着清除数据前的自增值继续自增。

原文地址:https://www.cnblogs.com/-beyond/p/7629504.html