我在
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');