データベースにたくさんのテーブルがありMySQL
、そのうちのいくつかは phpbb_ *で始まり、すべて削除したかったのです。誰かがそうする代わりにそうする方法を知っていますか
drop table <tablename>;
毎回?正規表現のような?
drop table phpbb*
または何かのような?
データベースにたくさんのテーブルがありMySQL
、そのうちのいくつかは phpbb_ *で始まり、すべて削除したかったのです。誰かがそうする代わりにそうする方法を知っていますか
drop table <tablename>;
毎回?正規表現のような?
drop table phpbb*
または何かのような?
次の MySQL プロシージャを使用できます。
DELIMITER $$
CREATE PROCEDURE drop_tables_like(pattern VARCHAR(255), db VARCHAR(255))
BEGIN
SELECT @str_sql:=CONCAT('drop table ', GROUP_CONCAT(table_name))
FROM information_schema.tables
WHERE table_schema=db AND table_name LIKE pattern;
PREPARE stmt from @str_sql;
EXECUTE stmt;
DROP prepare stmt;
END$$
DELIMITER ;
「test1」データベースの「a」で始まるすべてのテーブルを削除するには、次を実行できます。
CALL drop_tables_like('a%', 'test1');