我不想刪除數據庫,如何刪除MySQL中的所有表?
因爲我不託管我自己的機器上的網站,
刪除數據庫將需要重新創建,和許多設置。
在MySQL中是否有可用於刪除特定數據庫中所有表的命令?
編輯
一切我能做的,就是一個phpMyAdmin的
我不想刪除數據庫,如何刪除MySQL中的所有表?
因爲我不託管我自己的機器上的網站,
刪除數據庫將需要重新創建,和許多設置。
在MySQL中是否有可用於刪除特定數據庫中所有表的命令?
編輯
一切我能做的,就是一個phpMyAdmin的
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
Here有更多的方法來刪除所有的表,而不必刪除數據庫中。
我不知道有什麼直接的,以滿足您的需求。你可以嘗試做如下:
運行它來顯示您的下降命令:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] |
grep ^DROP
的Nex你可以做到這一點,以實際執行下降命令:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] |
grep ^DROP |
mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
你也可以從information_schema數據庫生成一個sql文件:
Select concat('DROP TABLE database_name.', table_name,';') from information_schema.TABLES where table_schema='database_name';
這將給像輸出:
DROP TABLE database_name.table1;
DROP TABLE database_name.table2;
[...]
DROP TABLE database_name.tableN;
你剛纔說的在phpMyAdmin這樣做。
我只是不得不這樣做,我不確定你使用的是什麼版本,但是在我有的版本中,如果你滾動到表格列表的底部,你可以點擊「全部檢查」,然後在下拉列表中在它旁邊有「With Selected」,您可以選擇「Drop」並清空所有表格。
這是此問題的實際答案。 – 2016-02-25 14:23:28
它的工作原理!但我禁用驗證外鍵刪除所有表! – 2016-12-20 15:06:33
$q=mysql_query("SHOW TABLES FROM ".SQL_DATABASE_NAME);
while($r=mysql_fetch_assoc($q)){
mysql_query("DROP TABLE ".$r["Tables_in_".SQL_DATABASE_NAME]);
}
它適合我!
如何在出現此錯誤時使用您的腳本:無法刪除或更新父行:外鍵約束失敗 – user2298943 2013-07-27 13:31:36
@ user2298943使用此項: 'mysqldump -u [USERNAME] -p [PASSWORD] - add-drop-table --no-data [DATABASE] | grep -e'^ DROP \ | FOREIGN_KEY_CHECKS'| mysql -u [USERNAME] -p [PASSWORD] [DATABASE]' – kiLLua 2017-02-03 01:51:00