天天看點

mysql下如何更改database下所有表的資料引擎--MyISAM 到InnoDB

1.檢視目前資料引擎的指令:

  show engines;

2.

    USE `[DBNAME]`;

    SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=InnoDB; ') SEPARATOR '' )

    FROM information_schema.TABLES AS t

    WHERE TABLE_SCHEMA = '[DBNAME]' AND TABLE_TYPE = 'BASE TABLE';

  将其中的紅色部分替換為你所使用的資料庫

   執行後其實生成的是查詢指令,然後copy生産的指令,執行SQL 即可:

ALTER TABLE info_aaaa ENGINE=InnoDB; ALTER TABLE info_data_bbb ENGINE=InnoDB; ALTER TABLE info_data_ccc ENGINE=InnoDB; ALTER TABLE info_data_ddd ENGINE=InnoDB; ALTER TABLE info_data_eee ENGINE=InnoDB; ALTER TABLE info_data_fffENGINE=InnoDB;

再次檢視資料表的資料引擎已經更改了:show table status from [DBNAME];

繼續閱讀