SQL MySQL批量删除db或table

阅读(7769)

此操作危险!请谨慎做好确认!

因为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%';

批量删除Table(以前缀为KAI_FA_GE示例):


SELECT CONCAT( 'DROP TABLE ', TABLE_NAME, ';')
    FROM information_schema.TABLES
        WHERE information_schema.TABLES.TABLE_NAME LIKE 'KAI_FA_GE%';

执行上面语句后,复制查询结果,执行即可。

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

Tags: mysql