时间:2021-05-24
我在配置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表格引擎修改为InnoDB.
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操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
作为一个PHP的程序员,用了好多年的mysql数据库,一般的数据表我们要么用InnoDB的表类型(Engine)或MyISAM的表类型居多。在创建数据库表的时候
我们都知道当我们建立数据表(innodb或myisam)时,会生成相应的文件(如:MYD,MYI,frm)在这里,我们探讨下使用frm文件恢复innodb和my
由于mysql默认的引擎为innodb,phpmyadmin创建表时没有特别指定引擎,也就是使用系统默认的innodb.这个引擎的使用跟mysql/data/目
本文实例讲述了mysql更改引擎(InnoDB,MyISAM)的方法,分享给大家供大家参考。具体实现方法如下:mysql默认的数据库引擎是MyISAM,不支持事
MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询。构成一个MERGE数据表结构的各成员MyISAM数据表必须具有完