MySQL引擎详解(一)——引擎基本原理和操作

今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL引擎相关知识。

一、MySQL引擎简介

MySQL的每个数据表都会有一个引擎,不同类型的引擎决定了该数据表的数据存储格式,不同的数据引擎对数据表的存储空间、查询速度、并发量以及对索引等的支持程度是不同的。
MySQL常见的引擎是MyISAM和InnoDB两种,这两种引擎是以插件的形式在MySQL中存在的。在之后的文章中,我们将介绍MyISAM和InnoDB引擎的区别,今天,我们先来学习MySQL引擎的一些基本操作命令。

二、MySQL引擎基本操作

下面,我们来介绍MySQL引擎的一些常用基本操作。

(一)查看MySQL表使用的引擎

执行命令:

show create table 【表名】;

可以查看该数据表所使用的引擎,MyISAM和InnoDB引擎的表在执行该命令时现象如下所示:
在这里插入图片描述

(二)创建表时指定引擎

我们在创建数据表前,最好先根据业务场景,确定数据表所要使用的引擎,尽量避免在创建数据表后再对引擎进行修改。MySQL5.1及之前的版本中,MySQL数据表默认引擎是MyISAM,在MySQL5.5及之后的版本中,MySQL数据表默认的引擎是InnoDB。如果我们在创建表时指定引擎,可以执行命令:

create table 【表名】 【字段信心】 ENGINE=MyISAM;

或者是

create table 【表名】 【字段信心】 ENGINE=InnoDB;

这样,就可以在创建数据表时指定数据表的引擎了。

(三)创建表后修改引擎

有时,由于一些业务场景的变迁,或者其他的因素,我们会遇上需要批量修改数据表的情景,这时就要非常注意,因为事务、索引、外键约束等内容与数据表引擎息息相关。MySQL数据库支持使用alter命令修改数据表的引擎,修改数据表引擎的SQL命令如下:

alter table 【表名】 set ENGINE=MyISAM;

或者是:

alter table 【表名】 set ENGINE=InnoDB;

(四)使用数据导入导出的方式批量修改引擎

如果要修改引擎的数据表过多,我们可以采用数据库导入导出的方式对数据表引擎进行批量修改。
我们可以通过mysqldump命令将数据库文件导出到一个.sql文件中,然后使用sed命令批量将该文件中的所有MyISAM引擎更换为InnoDB引擎,或者相反的操作。
然后,再把引擎导入会数据库,这样,就可以批量对数据库引擎进行修改了。

(五)使用mysql_convert_table_fromat命令批量修改引擎

除了使用数据导入和导出的方式批量修改引擎外,还可以使用MySQL自带的mysql_convert_table_format命令进行批量修改引擎,mysql_convert_table_format是MySQL自带的可以实现数据库批量修改引擎的插件,利用该插件可以快速的批量修改数据表的引擎。该命令执行示例如下:

mysql_convert_table_fromat --user=root --password=root --engine=MyISAM exp

在上述命令中,利用–user、–password和–engine参数分别指定了数据库的用户名、密码和要修改的引擎,最后的exp为数据库名,该命令执行后,就可以将该数据库内所有数据表修改为MyISAM引擎了。
上述命令执行结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值