使用正则表达式删除表 – MySQL

前端之家收集整理的这篇文章主要介绍了使用正则表达式删除表 – MySQL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 MySQL数据库中有一堆表,其中一些以ph​​pbb_ *开头,我想删除所有这些表.有人知道这样做的方法,而不是做

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

参考:http://dev.mysql.com/doc/refman/5.5/en/drop-table.html

猜你在找的正则表达式相关文章