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