加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:01:29 所属栏目:百科 来源:网络整理
导读:我在 MySQL数据库中有一堆表,其中一些以ph??pbb_ *开头,我想删除所有这些表.有人知道这样做的方法,而不是做 drop table tablename; 每一次?像正则表达式? drop table phpbb* 或类似的东西? 解决方法 你可以使用这个MySQL程序: DELIMITER $$CREATE PROCED
我在 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读