今天后端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 即可;