mysql 清除某个库下的所有数据

要求,清除msyql库中hhh库下的所有数据,但是要保留原表结构。

方法一

利用命令或第三方工具(我用的是navicat),导出表结构sql,然后删库重建,再导入表结构sql。

方法二

命令行界面

select CONCAT('truncate TABLE',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where  table_schema in ('hhh')

会把你要truncate的表sql罗列出来。


mysql 清除某个库下的所有数据_第1张图片


通过第三方工具把sql的“|”替换为空,然后复制到命令行界面执行

没有报错,即清除完成。

可能会有一堆报错,根据提示查看何种原因报错,针对改进。

我遇到的报错


这是因为有些表启用了外键约束,不能删除。去查看,果然有些表是没有清除数据的。


mysql 清除某个库下的所有数据_第2张图片

解决方法 暂时关闭外键约束SET FOREIGN_KEY_CHECKS=0


然后再次执行 刚才的sql    truncatetables xxx,把第一次执行的sql重新复制过来执行


mysql 清除某个库下的所有数据_第3张图片

Ok,没有报错,然后开启外键约束SETFOREIGN_KEY_CHECKS=1

再次查看


mysql 清除某个库下的所有数据_第4张图片

Ok  所有数据都已清除。

你可能感兴趣的:(mysql 清除某个库下的所有数据)