2012-02-09 24 views
-2

任何人都可以建議我從數據庫中刪除多個表的查詢。像.......mysql下降多個表使用哪裏或不是像條件?

刪除表不像'prefix%';

請建議我做正確的查詢嗎?

+2

可能複製到http://stackoverflow.com/questions/8393550/mysql-drop -tables與 - 通配符使用專用-SQL語句 – 2012-02-09 06:45:21

回答

2

你不能只是一個單一的MySQL命令做到這一點,但是你可以使用MySQL來構造語句您:

在MySQL外殼中或通過phpmyadmin,使用以下查詢

SELECT CONCAT('DROP TABLE ', GROUP_CONCAT(table_name) , ';') 
AS statement FROM information_schema.tables 
WHERE table_name LIKE 'myprefix_%'; 

這將生成一個DROP語句,您可以複製並執行以刪除這些表。

編輯:這裏的免責聲明 - 上面生成的聲明將使用該前綴刪除所有數據庫中的所有表。如果你想將其限制在一個特定的數據庫,修改查詢,看起來像這樣並用自己的數據庫名稱替換數據庫名稱:

SELECT CONCAT('DROP TABLE ', GROUP_CONCAT(table_name) , ';') 
AS statement FROM information_schema.tables 
WHERE table_schema = 'database_name' AND table_name LIKE 'myprefix_%';