mysql 批量修改数据库引擎
前言:本次我是将各个表MyISAM引擎 修改为 InnoDB
一.先查询出是MyISAM引擎的表
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = '数据库名' AND ENGINE = 'myISAM'
二.将引擎为MyISAM的表查询出来,并且通过字符拼接的方式 将ALTER TABLE 表名 ENGINE=InnoDB输出到查询语句
USE 数据库名;
SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=InnoDB; ') SEPARATOR '' )
FROM information_schema.TABLES AS t
WHERE TABLE_SCHEMA = '数据库'
AND TABLE_TYPE = 'BASE TABLE'
AND ENGINE = 'MyISAM'
三.复制第二步查询出来的结果,执行
-- 执行第二步查询出来的结果
ALTER TABLE 表1 ENGINE=INNODB; ALTER TABLE 表2 ENGINE=INNODB; ALTER TABLE 表3 ENGINE=INNODB............