首页 > 数据库 > MySQL > 正文

浅谈MySql的存储引擎(表类型)

2024-07-24 13:03:12
字体:
来源:转载
供稿:网友

什么是MySql数据库

    通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合。
    我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等。根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点。
    MySql数据库是开放源代码的关系型数据库。目前,它可以提供的功能有:支持sql语言、子查询、存储过程、触发器、视图、索引、事务、锁、外键约束和影像复制等。在后期,我们会详细讲解这些功能。
    同Oracle 和SQL Server等大型数据库系统一样,MySql也是客户/服务器系统并且是单进程多线程架构的数据库。
    MySql区别于其它数据库系统的一个重要特点是支持插入式存储引擎。


    5 archive:这种类型只支持select 和 insert语句,而且不支持索引。常应用于日志记录和聚合分析方面。
    当然MySql支持的表类型不止上面几种。

    下面我们介绍一下如何查看和设置数据表类型。

MySql中关于存储引擎的操作

    1 查看数据库可以支持的存储引擎
    用show engines; 命令可以显示当前数据库支持的存储引擎情况,如图1所示:

                                             图1 数据库的存储引擎

浅谈MySql的存储引擎(表类型)


    由上图可见当前系统的默认数据表类型是MyISAM。当然,我们可以通过修改数据库配置文件中的选项,设定默认表类型。
    2 查看表的结构等信息的若干命令
    要查看表的定义结构等信息可以使用以下几种命令:
    2.1Desc[ribe] tablename; //查看数据表的结构
    例如,查看表t1的结构,可得下图。

                                         图2:查看表t1的结构
 

浅谈MySql的存储引擎(表类型)


    2.2 Show create table tablename; //显示表的创建语句
    同上查询表t1,得下图:

                                          图3 显示创建表t1的语句

 

浅谈MySql的存储引擎(表类型)


    2.3 show table status like ‘tablename'/G显示表的当前状态值

     同上查询表t1,得下图:

                    图4 显示表t1 的当前状态值

 

浅谈MySql的存储引擎(表类型)


    综上可见,后两种方式都可以帮助我们查看某一表的存储引擎类型(图中已用红色方框标出)。
    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 

 

浅谈MySql的存储引擎(表类型)

                                                                                                                                                                                                                                      

查看创建后表user的信息,可见表的当前存储引擎是merge,如图所示:

             图6 显示表t1 的当前状态值

 

浅谈MySql的存储引擎(表类型)

    3.2修改存储引擎,可以用命令Alter table tableName engine =engineName

假如,若需要将表user的存储引擎修改为archive类型,则可使用命令alter table user engine=archive。如下图所示:

             图7 修改表user的存储引擎

 
查看修改后的表类型,可见表类型已经变为archive类型。

             图8 显示表user修改后的状态值
 

浅谈MySql的存储引擎(表类型)


小结
     在本文中主要介绍了什么是MySql数据库,并进一步引出了它的一个重要特性, 即插入式的多存储引擎机制。然后,简单介绍了什么是存储引擎和MySql中几种主要的存储引擎。最后,介绍了如何查看数据库支持的所有存储引擎,如何查看数据库表的存储引擎类型及如何设置或修改表的存储引擎类型。刚刚入门学习MySql,文中有错误之处,还请大家多多指导!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表