在前面提到,MySQL 的核心就是存储引擎。
MySQL 存储引擎主要有 InnoDB、MyISAM、Memory、BDB、Merge、Archive、Federated、CSV、BLACKHOLE 等。
MySQL 中修改数据表的存储引擎的语法格式如下:
ALTER TABLE <表名> ENGINE=<存储引擎名>;
ENGINE 关键字用来指明新的存储引擎。
实例演示
下面将数据表 student 的存储引擎修改为 MyISAM。
在修改存储引擎之前,先使用 SHOW CREATE TABLE 语句查看 student 表当前的存储引擎,结果如下。
CREATE TABLE `student` (
`stuId` int(4) DEFAULT NULL,
`id` int(4) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`stuno` int(11) DEFAULT NULL,
`sex` char(1) DEFAULT NULL,
`age` int(4) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
可以看到,student 表当前的存储引擎为 InnoDB。
下面将 student 表的存储引擎修改为 MyISAM 类型,SQL 语句为:
ALTER TABLE student ENGINE=MyISAM;
使用 SHOW CREATE TABLE 语句再次查看 student 表的存储引擎,会发现student 表的存储引擎变成了“MyISAM”,
拓展阅读
以上这种方法适用于修改单个表的存储引擎,如果希望修改默认的存储引擎,就需要修改 my.cnf 配置文件。在 my.cnf 配置文件的 [mysqld] 后面加入以下语句:
default-storage-engine=存储引擎名称
然后保存就可以了。