数据库目录数据库表的表示法

数据库目录数据库表的表示法数据库中的每个表在数据库目录中都作为三个文件存在:一个格式(描述)文件、一个数据文件和一个索引文件

每个文件的基名是该表名,扩展名指明该文件的类型

扩展名如表1所示

数据和索引文件的扩展名指明该表是否使用较老的 ISAM 索引或较新的 MyISAM 索引

当发布定义一个表结构的 CREATE TABLE tbl_name 语句时,服务器创建 tbl_name.frm 文件,它包含该结构的内部编码

该语句还创建空的数据文件和索引文件,这些文件的初始信息表明没有记录和索引(如果 CREATE TABLE 语句包含索引说明,则该索引文件将反映这些索引)

描述表的文件的所有权和方式被设置为只允许对 MySQL 服务器用户的访问

当发布 ALTER TABLE 语句时,服务器对 tbl_name.frm 重新编码并修改数据文件和索引文件的内容以反映由该语句表明的结构变化

对于 CREATE 和 DROP INDEX 也是如此,因为服务器认为它们等价于 ALTER TABLE 语句

DROP TABLE 删除代表该表的三个文件

尽管可以通过删除数据库目录中的对应某个表的三个文件来删除该表,但不能手工创建或更改表

例如,如果 my_db 是当前的数据库,DROP TABLE my_tbl 大致等价于下列命令:来自于 SHOW TABLES my_db 的输出结果正是 my_db 数据库目录中 .frm 文件基名的一个列表

某些数据库系统维护一个列出了数据库中的所有表的登记

但 MySQL 不这样做,因为没有必要,这个“登记”隐含在了数据目录的结构中

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关