mysql 怎样清空一个数据库中的所有表

Posted 孟宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 怎样清空一个数据库中的所有表相关的知识,希望对你有一定的参考价值。

mysql清空表是很重要的操作,也是最常见的操作之一,下面就为您详细介绍Mysql清空表的实现方法,希望能够对您有所帮助。

方法1:重建库和表

一。只导出表结构

 

 

导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456  -d database > dump.sql

 

 

导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456  -d database table > dump.sql

 

 

二。只导出表数据

导出整个数据库数据

mysqldump -h localhost -uroot -p123456  -t database > dump.sql

 

三。导出结构+数据

 

导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql

 

导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456  database table > dump.sql

 

 

 

 


方法2:生成清空所有表的SQL
mysql -N -s information_schema -e "SELECT CONCAT(‘TRUNCATE TABLE ‘,TABLE_NAME,‘;‘) FROM TABLES WHERE TABLE_SCHEMA=‘eab12‘"
输出结果如下:
TRUNCATE TABLE AUTHGROUPBINDINGS;
TRUNCATE TABLE AUTHGROUPS;
TRUNCATE TABLE AUTHUSERS;
TRUNCATE TABLE CORPBADCUSTOMINFO;
TRUNCATE TABLE CORPSMSBLACKLISYInfo;
TRUNCATE TABLE CORPSMSFILTERINFO;
TRUNCATE TABLE CORPSMSINFO;
TRUNCATE TABLE EABASEREGINFOS;
TRUNCATE TABLE EACORPBLOB;
TRUNCATE TABLE EACORPINFO;
....
....
这样就更完善了:
mysql -N -s information_schema -e "SELECT CONCAT(‘TRUNCATE TABLE ‘,TABLE_NAME,‘;‘) FROM TABLES WHERE TABLE_SCHEMA=‘eab12‘" | mysql eab12
即清空eab12中所有的表。
但是如果有外键的话,很可能会报错。因此还需要加个-f
mysql -N -s information_schema -e "SELECT CONCAT(‘TRUNCATE TABLE ‘,TABLE_NAME,‘;‘) FROM TABLES WHERE TABLE_SCHEMA=‘eab12‘" | mysql -f eab12
多执行几次,直到不报错。

以上就是Mysql清空表的实现方法。

以上是关于mysql 怎样清空一个数据库中的所有表的主要内容,如果未能解决你的问题,请参考以下文章

mysql怎样查询一个表中所有数据

SQL SERVER 怎样清空表的数据

SQL SERVER 怎样清空表的数据

怎样清空数据库sql 2000,清空后让表的id从1开始

怎样清空数据库sql 2000,清空后让表的id从1开始

MySQL-清空表