浅谈MySql的存储引擎(表类型)
数据库  /  管理员 发布于 6年前   142
什么是MySql数据库
通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合。那么什么是存储引擎呢?
存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。下面我们介绍一下如何查看和设置数据表类型。
MySql中关于存储引擎的操作
1 查看数据库可以支持的存储引擎
用show engines; 命令可以显示当前数据库支持的存储引擎情况,如图1所示:
图1 数据库的存储引擎
由上图可见当前系统的默认数据表类型是MyISAM。当然,我们可以通过修改数据库配置文件中的选项,设定默认表类型。
2 查看表的结构等信息的若干命令
要查看表的定义结构等信息可以使用以下几种命令:
2.1Desc[ribe] tablename; //查看数据表的结构
例如,查看表t1的结构,可得下图。
图2:查看表t1的结构
2.2 Show create table tablename; //显示表的创建语句
同上查询表t1,得下图:
图3 显示创建表t1的语句
2.3 show table status like ‘tablename'\G显示表的当前状态值
同上查询表t1,得下图:
图4 显示表t1 的当前状态值
综上可见,后两种方式都可以帮助我们查看某一表的存储引擎类型(图中已用红色方框标出)。
3 设置或修改表的存储引擎
3.1创建数据库表时设置存储存储引擎的基本语法是:
Create table tableName(
columnName(列名1) type(数据类型) attri(属性设置),
columnName(列名2) type(数据类型) attri(属性设置),
……..) engine = engineName
例如,假设要创建一个名为user的表,此表包括id,用户名username和性别sex三个字段,并且要设置表类型为merge。则可用如下的方式创建此数据表,
create table user(
id int not null auto_increment,
username char(20) not null,
sex char(2),
primary key(id)
) engine=merge
具体执行结果见下图:
图5 创建表user
查看创建后表user的信息,可见表的当前存储引擎是merge,如图所示:
图6 显示表t1 的当前状态值
3.2修改存储引擎,可以用命令Alter table tableName engine =engineName
假如,若需要将表user的存储引擎修改为archive类型,则可使用命令alter table user engine=archive。如下图所示:
图7 修改表user的存储引擎
查看修改后的表类型,可见表类型已经变为archive类型。
图8 显示表user修改后的状态值
小结
在本文中主要介绍了什么是MySql数据库,并进一步引出了它的一个重要特性, 即插入式的多存储引擎机制。然后,简单介绍了什么是存储引擎和MySql中几种主要的存储引擎。最后,介绍了如何查看数据库支持的所有存储引擎,如何查看数据库表的存储引擎类型及如何设置或修改表的存储引擎类型。刚刚入门学习MySql,文中有错误之处,还请大家多多指导!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号