• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL创建数据表时设定引擎MyISAM/InnoDB操作

mysql 搞代码 4年前 (2022-01-09) 56次浏览 已收录 0个评论

我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB。今天查看了MyISAM与InnoDB的区别,在该文中的第七条“MyISAM支持GIS数据,InnoDB不支持。即MyISAM支持以下空间数据对象:Point,Line,Polygon,Surface等。”

作为一个地理信息系统专业的学生(其实是测绘专业)来讲,能存储空间数据的数据库才是好数据库,原谅我是数据库小白的身份。

有三种方式可以设定数据库引擎:

(1)修改配置文件

将安装目录下~\MySQL\mysql-5.6.31-winx64的my.int配置文件打开,在[mysqld]的后面修改或添加(如果你之前未设置)下列语句:

default-storage-engine=INNODB

而我会自己修改为MyISAM,以后在你创建数据表时默认引擎为当前设置。

(2)创建数据表时声明

mysql> create table test(
 -> id int(10) unsigned not null auto_increment,
 -> name varchar(10) character set utf8,
 -> age int(10),
 -> primary key(id)
 -> )
 -> engine=MyISAM
 -> ;

上述语句为创建表格的语句,如下图,没有什么可说的。

接下来查询一下,创建的表格的引擎类别。

show create table test;

(3)更改数据表的引擎

数据表的引擎类型,不是一成不变的,可以通过可视化应用如Navicat for Mysql进行修改,也可以通过命令来修改,下面将刚才新建的test表格引擎修改为I来源gaodai#ma#com搞@代~码$网nnoDB.

alter table test engine=innodb;

补充知识:MySQL 更改所有表的数据引擎,MyISAM 设置为 InnoDB

一、先设置执行SQL语句:

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';

把数据库改成你的数据库名字,这里假设我的数据库是database

SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NAME ,' ENGINE=InnoDB; ') SEPARATOR '' ) 
FROM information_schema.TABLES AS t 
WHERE TABLE_SCHEMA = 'database' AND TABLE_TYPE = 'BASE TABLE';

二、得到一段超长的SQL,复制后执行这段SQL

三、查看当前数据库的字段存储信息

SHOW TABLE STATUS FROM database;

结果:

以上这篇MySQL创建数据表时设定引擎MyISAM/InnoDB操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL创建数据表时设定引擎MyISAM/InnoDB操作

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址