场景:有的时候需要批量更新部分有规律的表或者修改其属性。
处理方案:使用 函数CONCAT 来生成批量执行sql语句,再执行批量sql语句。
如:
批量删除所有表
SELECT CONCAT( 'drop table ', table_name, ';' )
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'db_name';
批量删除特征表
SELECT CONCAT( 'drop table ', table_name, ';' )
FROM information_schema.tables
WHERE table_name LIKE 'act_%';
批量修改特征表
Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', table_name,';' )
FROM information_schema.tables
Where table_name LIKE 'dec_%';
批量修改数据库引擎
SELECT CONCAT( 'ALTER TABLE ', table_name, 'ENGINE =INNODB;' )
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'db_name';
批量删除存储过程
SELECT CONCAT( 'drop table ', ROUTINE_NAME, ';' ) FROM information_schema.`ROUTINES`
WHERE ROUTINE_SCHEMA='db_name';