插件窝 干货文章 mysql删除所有指定表前缀的表

mysql删除所有指定表前缀的表

mysql 表前缀 935    来源:插件窝    2019-10-17

今天后端PHP一研发工程师问到一个问题。


有很多日志表,前缀一样,后缀是日期分表的。要统一删除。这个没有直接可用的命令,所以用其他方法处理


解决办法

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


结果如下

 drop table PRE_20170523;         

 drop table PRE_20170524;         

 drop table PRE_20170525;         

 drop table PRE_20170526;         

 drop table PRE_20170527;         

 drop table PRE_20170530;         

 drop table PRE_20170531;         

 drop table PRE_20170601;         

 drop table PRE_20170602;         

 drop table PRE_20170603;         

 drop table PRE_20170605;         

 drop table PRE_20170606;         

 drop table PRE_20170607;         

 drop table PRE_20170608;         

 drop table PRE_20170609;         

 drop table PRE_20170610;         

 drop table PRE_20170611;         


命令行下会有 | 围绕,复制时会一块复制,这儿直接放到编辑器里替换掉即可。



当然,可以写成执行脚本 ,通过前缀 获取所有表名,直接删除 drop table pre_1,pre_2,pre_3 即可;