SELECT CONCAT('DROP TABLE ', table_name, ';')
FROM information_schema.tables
WHERE table_schema = 'your_db' AND table_name LIKE 'dede_%';
執行上述查詢,複製輸出的 DROP TABLE 語句再次執行即可完成批量刪除。
SELECT CONCAT('ALTER TABLE ', table_name, ' RENAME TO ', 'new_prefix_', SUBSTRING(table_name, 6), ';')
FROM information_schema.tables
WHERE table_schema = 'your_db' AND table_name LIKE 'dede_%';
SUBSTRING(table_name, 6) 去除原前綴 dede_(長度 5),拼接新前綴。ALTER TABLE dede_aaa RENAME TO new_prefix_aaa;SET @sql = (
SELECT GROUP_CONCAT(CONCAT('DROP TABLE ', table_name) SEPARATOR '; ')
FROM information_schema.tables
WHERE table_schema = 'your_db' AND table_name LIKE 'dede_%'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
注意 group_concat_max_len 可能截斷,大量表時建議分批或用腳本語言循環執行。
mysqldump -d 導出結構)。table_schema 過濾,防誤刪其他庫表。