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

吾爱主题 阅读:137313 2024-04-05 16:22:41 评论: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)创建数据表时声明

?
1 2 3 4 5 6 7 8 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语句:

?
1 2 3 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

?
1 2 3 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操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/renwudao24/article/details/52136955

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容