MySQL 批量删除库和表

此操作危险!请谨慎做好确认!
因为db或者table的信息都保存在MySQL内置的 information_schema数据库的表中,因此思路为:like查询information_schema中的相关表名,拼接SQL后进行批量删除。
批量删除DB(以前缀为KAI_FA_GE示例):
SELECT CONCAT( 'DROP DATABASE ', SCHEMA_NAME, ';') FROM information_schema.SCHEMATA WHERE information_schema.SCHEMATA.SCHEMA_NAME LIKE 'KAI_FA_GE%' INTO OUTFILE '/tmp/db.txt';


5.7 后执行此会报如下错误:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

然后在MySQL配置文件里面加入
[mysqld]secure-file-priv = ""
然后重启mysql即可解决。
然后 source /tmp/db.txt 即可全部清除。
批量删除Table(以前缀为KAI_FA_GE示例):
SELECT CONCAT( 'DROP TABLE ', TABLE_NAME, ';') FROM information_schema.TABLES WHERE information_schema.TABLES.TABLE_NAME LIKE 'KAI_FA_GE%' INTO OUTFILE '/tmp/table.txt' ;
然后 source /tmp/table.txt 即可全部清除

需要注意的是:批量操作中可能有部分删除失败而漏掉的,执行完后需要检查一下。

linux技术交流群:295294329



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值