日期:2014-05-16  浏览次数:20727 次

MYSQL批量删除多个数据表

MYSQL批量删除多个数据表

乱世狂人 , 19:51 , 网络技术 , 评论(4) , 引用(0) , 阅读(3467)
  以前安装过Discuz和ucenter,现在早已不用,占着空间也是浪费,决定把它们卸载掉,首先是把上传的Discuz和ucenter程序文件都删除掉,接着是删它们对应的数据库表,这个就麻烦了,怎么删除呢?

  使用phpMyAdmin吧,它的地址得联系服务商,我博客的地址是:http://ip地址/phpmyadmin/,用数据库用户名和密码登录进去,里面表很多,是由于多次安装DZ和其他程序,产生了很多不同前缀的表,我想批量删除带有uc_和cdb_的表,而留下boblog_和wp_的表,怎么操作呢?

  网上的方法大多都是一个个的删除,即先选中你要删除的表(可以多选),然后页面最下面中部有一个“选中项”的下拉列表。点开,选中删除就可以,由于表很多,这样一个个删很费时,一次次刷新也慢死,得找一个一次性删除多个数据表的方法。

  费劲九牛二虎之力,参考了网上的命令:drop table xxx,终于总结出了一次性删除多个数据表的方法,现乱世狂人blog发出来与大家共享。

  用phpMyAdmin登陆数据库,顶部有几个菜单选项:结构 SQL 搜索 查询 导出 Import 操作,选中SQL,然后输入语句:
drop table `x_abc1`,`x_abc2`,`x_abc3`
把所有要删除的表都写上去,执行就OK了。注意,请直接复制上面红色的内容,然后替换x_abc*为你的表格,如果有表格输入错误不影响正确的删除,但是会提示错误。

  这里可以用一个小技巧,在页面左侧复制所有要删除的表,建议每次复制第一个字母相同的表,复制出来粘贴进记事本或word,形式如下:

x_abc1
x_abc2
x_abc3

  在x_abc1前后都会有一个空格,这里将“ x”全部替换成“`x”,再将“ ↓”(↓代表回车)替换成“`,”,最后就变成: `x_abc1`,`x_abc2`,`x_abc3
再在最后面添个“`”,前面加上“drop table ”,就成了前面的命令了。

  比如,乱世狂人blog删除的命令形式就如下:

drop table `uc_admins`,`cdb_words`