MySQL批量删除指定前缀表
Select CONCAT( 'drop table ' , table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'dede_%' ; |
"dede"为要删除的表前缀,执行此SQL语句后会生成一串SQL语句,必须再执行生成的这些SQL语句才能真正执行删除操作
另外一个就是批量修改表名:
Select CONCAT( 'ALTER TABLE ' , table_name, 'RENAME TO ' , table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'dede_%' ; |
首先执行此SQL语句,会生成如下语句:
ALTER TABLE de_aaa RENAME TO de_aaa; ALTER TABLE de_bbb RENAME TO de_bbb; |
在编辑器中将“RENAME TO de”批量改为想设置的表前缀,再执行此SQL语句即可批量修改表名。
删除指定数据库的指定前缀或者后缀的表。
-- ----------------------------------------------------------------------------------------------------------
-- 1、查询:得到批量删除指定数据库中的指定表;
-- 2、执行:将得到的结果复制下来,再重新执行;
SELECT CONCAT( 'drop table ', table_name, '; ' )
FROM information_schema. TABLES WHERE information_schema. TABLES .TABLE_NAME LIKE '%_copy' -- 得到数据库中所有表面以_copy结束的表
AND table_schema = 'db_emob'; -- 查询指定的数据库