创新互联数据库教程:MySQL修改数据表的存储引擎

在前面提到, MySQL 的核心就是存储引擎。MySQL 存储引擎主要有 InnoDB、MyISAM、Memory、BDB、Merge、Archive、Federated、CSV、BLACKHOLE 等。

MySQL 中修改数据表的存储引擎的语法格式如下:

ALTER TABLE <表名> ENGINE=<存储引擎名>;

ENGINE 关键字用来指明新的存储引擎。

实例演示

下面将数据表 student 的存储引擎修改为 MyISAM。

在修改存储引擎之前,先使用 SHOW CREATE TABLE 语句查看 student 表当前的存储引擎,结果如下。

mysql> SHOW CREATE TABLE student \G
*************************** 1. row ***************************
       Table: student
Create Table: 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
1 row in set (0.01 sec)

可以看到,student 表当前的存储引擎为 InnoDB。

下面将 student 表的存储引擎修改为 MyISAM 类型,SQL 语句为:

ALTER TABLE student ENGINE=MyISAM;

使用 SHOW CREATE TABLE 语句再次查看 student 表的存储引擎,会发现student 表的存储引擎变成了“MyISAM”,SQL 语句和运行结果如下:

mysql> SHOW CREATE TABLE student \G;
*************************** 1. row ***************************
       Table: student
Create Table: 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,
  `stuId2` int(4) unsigned DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

拓展阅读

以上这种方法适用于修改单个表的存储引擎,如果希望修改默认的存储引擎,就需要修改 my.cnf 配置文件。在 my.cnf 配置文件的 [mysqld] 后面加入以下语句:

default-storage-engine=存储引擎名称

然后保存就可以了。

分享标题:创新互联数据库教程:MySQL修改数据表的存储引擎
本文网址:http://www.hantingmc.com/qtweb/news12/361062.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联