mysql 批量删除同一前缀的表
mysql中还没有现成的工具可以实现批量删除相同前缀的表,所以我们可以通过构造语句来进行删除。
1.全部删除
将某个数据库下相同前缀的表全部删除,使用如下构造语句:
SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )
AS statement FROM information_schema.tables
WHERE table_schema = 'duty' AND table_name LIKE 'ZipSpeed%';
其中table_schema表示数据库名;
table_name表示表名。
执行语句,得到如下结果:
drop table ZipSpeedapril2016,ZipSpeedfebruary2016,ZipSpeedjanuary2016,ZipSpeedmarch2016;
然后复制出来执行就可以了。
2.单表删除
查找所有相同前缀的表,再进行单表删除,使用如下构造语句:
Select CONCAT( 'drop table ', table_name, ';' )
FROM information_schema.tables
Where table_name LIKE 'ZipSpeed%';
其中table_name表示表名。
执行语句,得到如下结果:
mysql> Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'ZipSpeed%'
-> ;
+------------------------------------------+
| CONCAT( 'drop table ', table_name, ';' ) |
+------------------------------------------+
| drop table ZipSpeedapril2016; |
| drop table ZipSpeedfebruary2016; |
| drop table ZipSpeedjanuary2016; |
| drop table ZipSpeedmarch2016; |
+------------------------------------------+
4 rows in set (0.01 sec)
然后复制出来一条一条地执行就可以了。
参考文章:https://blog.csdn.net/wql2014302721/article/details/79563088