MySQL清空表

举报
三分恶 发表于 2021/04/24 02:53:09 2021/04/24
【摘要】 清空表的两种方式 MySQL有两种清空表的方式。 清空(truncate) delete from 表名; 1 删除(delete) truncate table 表名; 1 两种方式的区别 删除方式 truncate 是整体删除,不扫描表,相当于重新创建了表,只保留了表的结构,然后删除掉原有表,删除速度较快delete是逐条删除,会扫描全表,会根据...

清空表的两种方式

MySQL有两种清空表的方式。

清空(truncate)

delete from 表名;

  
 
  • 1

删除(delete)

truncate table 表名;

  
 
  • 1

两种方式的区别

删除方式

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

自增字段

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

日志

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

触发器

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



参考

【1】:MySQL 清空表(truncate)与删除表中数据(delete) 详解
【2】:mysql清空表数据的两种方式和区别

文章来源: blog.csdn.net,作者:三分恶,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/sinat_40770656/article/details/112217974

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。