将下面命令执行后的结果全部复制到命令行执行
1 2 |
# 将 DB_NAME 修改为要清空的数据库 SELECT CONCAT('truncate table ',TABLE_NAME,';') AS a FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'DB_NAME' ; |
扩展:trancate 和 delete 的区别
1:
truncate
返回值为0
,而delete
会返回被删除的记录数。2:如果表中有自增字段,
truncate
会重置为1
,而delete
会保持自增的最大值。3:
truncate
不扫描表,相当于重新创建了表,只保留了表的结构,然后删除掉原有表,效率非常高。delete
会扫描全表,根据where
语句做判断,因此效率低。4:
truncate
不写服务器日志,无法恢复。delete
会写服务器日志。5:
truncate
不激活触发器,delete
会激活触发器。
本着互联网开源、开放的精神和宗旨,本站所有内容可以随便传播。如需转载或分享无需说明来源。
有任何疑问或烦恼,欢迎评论区讨论。
641
暂无回复数据