V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ljcarsenal
V2EX  ›  问与答

如何批量删除 mysql 的表?

  •  
  •   ljcarsenal · 2014-08-31 11:43:11 +08:00 · 2581 次点击
    这是一个创建于 3719 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在mysql中有 以course_ 开头 version_开头,等等许多特定开头的若干table,需要批量删除它们。应该怎么做?我在网上查到的只有
    Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name like 'course_%',
    这样只能把drop talbe的字符串 存到一张临时表里面。我想把各种 需要删除的特定前缀的表名都列出来,并且删除。可以怎么写呢?
    3 条回复    2014-08-31 16:33:48 +08:00
    Livid
        1
    Livid  
    MOD
       2014-08-31 11:49:32 +08:00
    用 PHP 或者 Python 写一个小程序解决吧。
    leafgray
        2
    leafgray  
       2014-08-31 12:41:10 +08:00
    mysqldump xx |grep DROP|grep course_ | mysql xxxx
    =
    zhangzheng
        3
    zhangzheng  
       2014-08-31 16:33:48 +08:00
    mysqldump -u username -p --no-data dbname | grep ^DROP | grep -e course_ -e version_ > drop.sql
    mysql -u username -p dbname < drop.sql
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3115 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:48 · PVG 20:48 · LAX 04:48 · JFK 07:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.