delete和truncate都可以清空数据库表数据,但是它们也有不同之处
删除语句
delete:delete from 表名;
truncate:truncate table 表名;
1、delete是逐条删除,速度相对来说慢一点,而truncate是整体删除,速度相对来说快一点
2、delete删除后记录日志是可以恢复数据的,而truncate删除后不记录日志,所以不能恢复
3、truncate不激活trigger(触发器),但是会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数,也就是说truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。而delete删除以后,Identity依旧是接着被删除的最近的那一条记录ID加1后进行记录。