我想刪除輕鬆多表沒有列出具體的下降查詢的表名和表被刪除具有前綴說「WP_」MySQL:如何使用單個查詢刪除多個表?
回答
只是共享的解決方案之一:
mysql> SELECT CONCAT( "DROP TABLE ",
GROUP_CONCAT(TABLE_NAME) ) AS stmtFROM information_schema.TABLES
WHERE TABLE_SCHEMA = "your_db_name" AND TABLE_NAME LIKE "ur condition" into outfile '/tmp/a.txt';
mysql> source /tmp/a.txt;
我用了一個和Angelin很相似的查詢。如果您有多個表格,則必須增加最大長度group_concat
。否則,查詢將會在group_concat
返回的截斷字符串上出現。
這是我10美分:
-- Increase memory to avoid truncating string, adjust according to your needs
SET group_concat_max_len = 1024 * 1024 * 10;
-- Generate drop command and assign to variable
SELECT CONCAT('DROP TABLE ',GROUP_CONCAT(CONCAT(table_schema,'.',table_name)),';') INTO @dropcmd FROM information_schema.tables WHERE table_schema='databasename' AND table_name LIKE 'my_table%';
-- Drop tables
PREPARE str FROM @dropcmd; EXECUTE str; DEALLOCATE PREPARE str;
+1我同意場景 –
謝謝你 - 沒有group_concat_max_len的增加,Angelin的回答將永遠不會適用於我的場景。 –
+1不使用文件n變量n取消分配 –
沒有錯誤的風險簡單的解決方案:
mysqldump
創建一個包含文件DROP
命令狀
DROP TABLE IF EXISTS `wp_matable`;
與
一個 'grep
'「 DROP TABLE wp_
「給我們執行命令
所以下降是由論文trhee線(您可以編輯的drop.sql檢查哪些表會被前下降)
mysqldump -u user -p database > dump.sql
grep "DROP TABLE `wp_" dump.sql > drop.sql
mysql -u user -p database < drop.sql
在mysql中刪除單個表進行:
DROP TABLE TABLE_NAME;
對於大mysqldump的解決方案,最好使用--skip-引號名
mysqldump --skip-quote-names -u user -p database > dump.sql
grep "DROP TABLE wp_" dump.sql > drop.sql
mysql -u user -p database < drop.sql
你得到的表名反引號去掉的選項。 grep部分不會在反引號的某些環境中工作。
小心 「_」,必須以 「\」 之前在MySQL這樣寫:
SELECT CONCAT('DROP TABLE',GROUP_CONCAT(CONCAT(table_schema,'.',table_name)),';') INTO @dropcmd FROM information_schema.tables WHERE table_schema='databasename' AND table_name LIKE '**my\\_table**%';
進入C:\ XAMPP的\ mysql的\ DATA \文件夾
選擇多要刪除,然後按表刪除按鈕
感謝
這使得原始海報使用XAMPP並將其安裝到該目錄的假設。 –
- 1. 如何使用一個查詢跨多個表進行刪除?
- 2. 用單個查詢刪除多行
- 3. 如何使用單個查詢查詢多個表格
- 4. 的MySQL從多個表中刪除一個查詢
- 5. 從內刪除加入MySQL查詢 - 兩個表多個條件
- 6. 從一個查詢的MySQL中的多個表中刪除
- 7. 如何在MySQL中使用單個MySQL查詢更改多個表?
- 8. 如何使用單個MySQL連接執行多個SQL查詢?
- 9. 如何刪除多個表中的數據在一個查詢
- 10. 刪除多個表的查詢
- 11. 從多個表中刪除查詢
- 12. 在PHP中使用多個條件的Mysql刪除查詢
- 13. 使用mysql在單個查詢中執行多個查詢
- 14. 選擇,刪除和從MySQL中使用單個查詢
- 15. 如何使用單個MySql查詢更新兩個表?
- 16. 如何使用單個mysql查詢獲取兩個表數據?
- 17. 使用mysql查詢多個表
- 18. 使用MYSQL查詢多個表格
- 19. 使用sqlserver2005中的單個查詢一次刪除多個表中的記錄
- 20. 如何在單個查詢中插入多個mysql表?
- 21. SQL查詢刪除多個表並從多個表中選擇
- 22. 如何查詢mysql中的多個表?
- 23. MySQL多列,單個查詢
- 24. 從多個表中刪除MySQL查詢問題
- 25. 如何使用單個查詢通過PHP創建多個MySQL表?
- 26. 如何使用單個MySQL查詢更新表中的多個記錄?
- 27. 如何用一個查詢刪除多個記錄
- 28. 如何使用單個查詢插入到多個表中?
- 29. 如何使用單個linq查詢獲取多個列表?
- 30. 使用實體框架使用單個LINQ查詢刪除多個記錄
可我知道爲什麼-ve投票 –
類似的問題 - http://stackoverflow.com/questions/4958424/mysql-question-on-dropping-表/ 54301 04#5430104 – Devart