mysql 怎樣清空一個數據庫中的所有表


轉自:http://blog.csdn.net/zhangzhizhen1988/article/details/8432146

 

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清空表的實現方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM