場景:有的時候需要批量更新部分有規律的表或者修改其屬性。
處理方案:使用 函數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';