加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

怎样批量修改mysql数据库myisam引擎为innodb

发布时间:2020-12-11 23:11:19 所属栏目:MySql教程 来源:网络整理
导读:《怎样批量修改mysql数据库myisam引擎为innodb》要点: 本文介绍了怎样批量修改mysql数据库myisam引擎为innodb,希望对您有用。如果有疑问,可以联系我们。 今天升级MYSQL 5.7,准备把原来数据库的MYSQL数据库引擎从5.6升级为5.7,因为表格众多,一个个修改很

《怎样批量修改mysql数据库myisam引擎为innodb》要点:
本文介绍了怎样批量修改mysql数据库myisam引擎为innodb,希望对您有用。如果有疑问,可以联系我们。

今天升级MYSQL 5.7,准备把原来数据库的MYSQL数据库引擎从5.6升级为5.7,因为表格众多,一个个修改很累,所以要有批量修改方法。

一个个修改的方法是:

mysql> alter table vephp engine=innodb;
Query OK, 16777216 rows affected (2 min 39.80 sec)
Records: 16777216  Duplicates: 0  Warnings: 0

那么批量修改方法就是批量执行ALTER TABLE即可。


我们生成这样的语句即可。执行:

SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') 
FROM information_schema.tablesWHERE table_schema="vephp数据库" AND ENGINE="MyISAM";

生成:

ALTER TABLE xxxxx ENGINE=InnoDB;               
ALTER TABLE zzzzzzzzz ENGINE=InnoDB;          
ALTER TABLE vvvvvvvvvv ENGINE=InnoDB;         
ALTER TABLE eeeeeee ENGINE=InnoDB;            
ALTER TABLE ppppppp ENGINE=InnoDB;
....

如图:

怎样批量修改mysql数据库myisam引擎为innodb


把这些表格数据导出,在SQL中执行即可。

也可以放在PHP中执行,如下:

$s = "ALTER TABLE aaaa ENGINE=InnoDB;          
ALTER TABLE bbbbb ENGINE=InnoDB;              
ALTER TABLE ccccc ENGINE=InnoDB;              
ALTER TABLE ddddd ENGINE=InnoDB;";
$s = array_filter (explode ("n",$s));
foreach ($s as $sql)
{
       $db->query($sql);  //这里是VEPHP框架查询,需要改成你的SQL查询命令
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读