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

我在配置MySQL时将配置文件中的默认存储引擎设定为了InnoDB。今天查看了MyISAM与InnoDB的区别,在该文中的第七条“MyISAM支持GIS数据,InnoDB不支持。即MyISAM支持以下空间数据对象:Point,Line,Polygon,Surface等。”作为一个地理信息系统专业的学生(其实是测绘专业)来讲,能存储空间数据的数据库才是好数据库,原谅我是数据库小白的身份。


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

(1)修改配置文件

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

[java]  view plain  copy
 
  1. default-storage-engine=INNODB  
MySQL创建数据表时设定引擎MyISAM/InnoDB_第1张图片

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

(2)创建数据表时声明

[java]  view plain  copy
 
  1. mysql> create table test(  
  2.     -> id int(10) unsigned not null auto_increment,  
  3.     -> name varchar(10) character set utf8,  
  4.     -> age int(10),  
  5.     -> primary key(id)  
  6.     -> )  
  7.     -> engine=MyISAM  
  8.     -> ;  
上述语句为创建表格的语句,如下图,没有什么可说的。

MySQL创建数据表时设定引擎MyISAM/InnoDB_第2张图片
接下来查询一下,创建的表格的引擎类别。

[java]  view plain  copy
 
  1. show create table test;  
MySQL创建数据表时设定引擎MyISAM/InnoDB_第3张图片

(3)更改数据表的引擎

数据表的引擎类型,不是一成不变的,可以通过可视化应用如Navicat for Mysql进行修改,也可以通过命令来修改,下面将刚才新建的test表格引擎修改为InnoDB.

[java]  view plain  copy
 
  1. alter table test engine=innodb;  
MySQL创建数据表时设定引擎MyISAM/InnoDB_第4张图片

你可能感兴趣的:(MySQL学习)