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';
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章