MySQL数据库表究竟是如何表示的呢?下面就为您介绍MySQL数据库表在MySQL数据库中是如何表示的,希望对您有所帮助。
每个数据库在数据库目录中有3个文件:一个样式(描述文件)、一个数据文件和一个索引文件。每个文件的基本名是表名,文件名扩展名代表文件类型。扩展名如下表。数据和索引文件的扩展名指出表使用老式IASM索引或新式MyISAM索引。
表 MySQL文件类型 | ||
文件类型 | 文件名扩展名 | 文件内容 |
样式文件 | .frm | 描述表的结构(它的列、列类型、索引等)。 |
数据文件 | .ISD(ISAM) 或.MYD(MyISAM) |
包含数据文件上的所有索引的索引树。 |
索引文件 | .ISM(ISAM) 或.MYI(MyISAM) |
该索引文件依赖表是否有索引而存在。 |
当你发出一条CREATE TABLE tbl_name时语句定义表的结构时,服务器创建一个名为tbl_name.frm的文件,它包括该结构的内部编码,同时也创建一个空数据和索引文件,初始化为包含指出无记录和无索引的信息(如果CREATE TABLE语句包括索引指定,索引文件反映出这些索引)。对应于表的文件的属主和模式被设置为只允许MySQL服务器用户访问。
当你发出一条ALTER TABLE tbl_name语句时,服务器重新编码tbl_name.frm,并修改数据和索引文件的内容以反映语句指定的结构改变。对于CREATE INDEX和DROP INDEX也是一样,因为它们被服务器视为与ALTER TABLE等价。DROP TABLE通过删除对应于表的三个文件来实现。
虽然你可以通过删除数据库目录中对应于表的三个文件,但不能手工创建或修改一个表,如,如果my_db是当前数据库,DROP TABLE my_tbl大概等价于下列命令。
% rm -rf DATADIR/my_db/my_tbl.*
SHOW TABLE my_db的输出只是列出my_db数据库目录中的.frm文件的基文件名。有些数据库系统一个注册表,列举所有包含在一个数据库中的表,MySQL不是,因为不必要,“注册表”隐含在数据目录的结构中。
以上就是MySQL数据库表的表示介绍。
【编辑推荐】