mysql中truncate和delete都能够清空表,但是两者之间又有所区别:
# truncate 语法格式
truncate table table_name
# delete 语法格式
delete from table_name
区别:
1.delete删除是一条条删除,truncate是整体删除,当数据量大时,truncate会更有优势
2.truncate会将自增id值重置为0,而delete仍然记录下一次自增id值(AUTO_INCREMENT)
3.truncate不会记录日志,而delete会记录日志,delete支持回滚
4.truncate会使表和索引所占空间恢复到初始大小,而delete不会减少表和索引所占空间
5. truncate不会激活触发器,但是delete可以
参考:
https://www.cnblogs.com/kunjian/p/12626232.html