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
三。匯出結構+資料
匯出整個資料庫結構和資料
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清空表的實現方法。