要求,清除msyql库中hhh库下的所有数据,但是要保留原表结构。
方法一
利用命令或第三方工具(我用的是navicat),导出表结构sql,然后删库重建,再导入表结构sql。
方法二
命令行界面
select CONCAT('truncate TABLE',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where table_schema in ('hhh')
会把你要truncate的表sql罗列出来。
通过第三方工具把sql的“|”替换为空,然后复制到命令行界面执行
没有报错,即清除完成。
可能会有一堆报错,根据提示查看何种原因报错,针对改进。
我遇到的报错
这是因为有些表启用了外键约束,不能删除。去查看,果然有些表是没有清除数据的。
解决方法 暂时关闭外键约束SET FOREIGN_KEY_CHECKS=0
然后再次执行 刚才的sql truncatetables xxx,把第一次执行的sql重新复制过来执行
Ok,没有报错,然后开启外键约束SETFOREIGN_KEY_CHECKS=1
再次查看
Ok 所有数据都已清除。