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

 更新时间:2020年08月28日 09:50:40   作者:萧逸凡  
这篇文章主要介绍了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]的后面修改或添加(如果你之前未设置)下列语句:

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

相关文章

  • SQL面试之WHERE 1=1到底是什么意思详解

    SQL面试之WHERE 1=1到底是什么意思详解

    这篇文章主要给大家介绍了关于SQL面试之WHERE 1=1到底是什么意思的相关资料,WHERE 1=1子句只是一些开发人员采用的一种惯性做法,以简化静态和动态形式的SQL语句的使用,文中介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • Mysql环境变量配置的详细图文教程

    Mysql环境变量配置的详细图文教程

    如果第一次安装好Mysql后,利用DOS窗口可能无法打开Mysql,此时大概率是未配置好Mysql的环境变量,下面这篇文章主要给大家介绍了关于Mysql环境变量配置的相关资料,需要的朋友可以参考下
    2022-08-08
  • MySQL8.x msi版安装教程图文详解

    MySQL8.x msi版安装教程图文详解

    这篇文章主要介绍了MySQL8.x msi版安装教程 ,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • mysql sql大文件导入正确姿势

    mysql sql大文件导入正确姿势

    在 MySQL 中导入大文件时,mysql source 导入大文件速度太慢,可能会遇到性能问题或内存限制,以下是一些优化导入大文件的建议,需要的朋友可以参考一下
    2025-02-02
  • 一千行的MySQL学习笔记汇总

    一千行的MySQL学习笔记汇总

    这篇文章主要介绍了一千行的MySQL学习笔记汇总,实例总结了MySQL学习中遇到的各类常见问题与实用技巧,需要的朋友可以参考下
    2014-10-10
  • mysql binlog二进制日志详解

    mysql binlog二进制日志详解

    二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句
    2011-10-10
  • 关于MySQL的ORDER BY排序详解

    关于MySQL的ORDER BY排序详解

    这篇文章主要介绍了关于MySQL的ORDER BY排序详解,如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的,需要的朋友可以参考下
    2023-05-05
  • MySQL8 临时关闭缓存的方法实现

    MySQL8 临时关闭缓存的方法实现

    在某些场景下,如基准测试、数据一致性检查或高频数据更新,可能需要临时关闭缓存以获得更准确的性能数据或解决性能问题,本文就详细的介绍一下MySQL8 临时关闭缓存的方法实现,感兴趣的可以了解一下
    2024-10-10
  • MySQL对JSON数据进行查询实例代码

    MySQL对JSON数据进行查询实例代码

    这篇文章主要给大家介绍了关于MySQL对JSON数据进行查询的相关资料,MySQL支持使用JSON类型存储数据,并提供了多种查询JSON数据的方法,需要的朋友可以参考下
    2023-07-07
  • MySQL之存储过程按月创建表的方法步骤

    MySQL之存储过程按月创建表的方法步骤

    这篇文章主要介绍了MySQL之存储过程按月创建表的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论