mysql批量删除相同前缀的表和修改表名

臭大佬 2017-10-27 12:40:44 2376
MYSQL 
简介 mysql批量删除相同前缀的表和修改表名Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', table_name,';' )

 由于博客升级,要把原来的系统和数据全都替换掉,安装完之后发现原来的数据表全都还在,根据表名前缀的区别,可以批量的删掉原来的数据表,操作如下:

执行sql语句:

Select CONCAT( 'drop table ', table_name, ';' ) 
FROM information_schema.tables 
Where table_name LIKE 'pre_%';

解释:like`pre_%`,其中pre_为你需要删除的表前缀,根据你自己的需求修改,

执行查询,会自动把匹配的表生成出 drop table table_name这样的SQL语句,

运行结果如下:

59f2a343ab8ba.png

批量复制一下到记事本或者et之类的编辑工具中,确定你的sql语句是否正确.这么一来也可以安全的审核一下语句,避免误操作.

最好用记事本打开,这样可以去掉样式,检查之后复制到sqlyog里面运行:

59f2a7a5621d7.png

ok,成功删除相同表前缀的文章了!

拓展:

批量修改表前缀:

Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', table_name,';' ) 
FROM information_schema.tables 
Where table_name LIKE 'uc_%';\


批量复制一下到记事本或者 et之类的编辑工具中,然后批量替换 RENAME TO uc 成 RENAME TO 你想要的表前缀完成后 再执行