1. 程式人生 > >mysql批量查詢、修改表, 批量刪除儲存過程

mysql批量查詢、修改表, 批量刪除儲存過程

場景:有的時候需要批量更新部分有規律的表或者修改其屬性。

處理方案:使用 函式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';