0
点赞
收藏
分享

微信扫一扫

MySQL清空表

船长_Kevin 2022-02-11 阅读 125


清空表的两种方式

MySQL有两种清空表的方式。

清空(truncate)

delete from 表名;

删除(delete)

truncate table 表名;



两种方式的区别

删除方式


  • ​truncate​​ 是整体删除,不扫描表,相当于重新创建了表,只保留了表的结构,然后删除掉原有表,删除速度较快
  • ​delete​​是逐条删除,会扫描全表,会根据条件判断,删除速度较慢

自增字段


  • ​truncate​​​后自增字段重新从 ​​1​​ 开始
  • ​delete​​ 保持自增最大值

日志


  • ​truncate​​操作不写入日志,所以清空的数据无法恢复
  • ​delete​​ 操作写入日志,删除的数据可以恢复

触发器


  • ​truncate​​ 不激活触发器
  • ​delete​​ 激活触发器


参考

【1】:​​MySQL 清空表(truncate)与删除表中数据(delete) 详解​​

【2】:​​mysql清空表数据的两种方式和区别​​



举报

相关推荐

0 条评论