(9) 表格和索引

目录

一个数据库在建立许多表格与索引以后,不论是程式开发或是数据库管理人员,都会有查询表格与索引相关资料的需求。例如查询一个表格中有哪些字段,还有字段的型态与属性的设定;也可能需要查询某一个表格建立了哪些索引与设定的资讯。

9.1 表格相关资讯

想要知道一个数据库中有哪一些表格,可以执行下列的叙述:

mysql_09_snap_87

这个叙述可以使用“字串样式”设定表格名称的条件:

mysql_09_snap_88

MySQL数据库在启动以后,会有一个很特别的数据库,名称是“information_schema”,这个数据库通常会称为“系统资讯数据库”。这个数据库中有一个表格叫作“TABLES”,它储存所有MySQL数据库中的表格相关资讯,“TABLES”表格有下列主要的字段:

字段名称 型态 说明
TABLE_SCHEMA varchar(64) 数据库名称
TABLE_NAME varchar(64) 表格名称
ENGINE varchar(64) 使用的储存引擎名称
TABLE_ROWS bigint(21) unsigned 纪录数量
AUTO_INCREMENT bigint(21) unsigned 如果包含“AUTO_INCREMENT”字段的话,这个字段会储存下一个编号
TABLE_COLLATION varchar(32) 表格使用的collation

执行下列的查询叙述就可以查询表格详细的资讯:

mysql_09_snap_89

MySQL也提供下列的叙述让你查询一个表格的定义:

mysql_09_snap_90

下列的叙述可以查询建立表格的“CREATE TABLE”叙述:

mysql_09_snap_91

回传的“Create Table”字段的内容就是一个建立表格的叙述:

mysql_09_snap_92

9.2 索引相关资讯

MySQL提供“SHOW INDEX”叙述查询一个表格的索引详细资讯,下列是执行这个叙述以后,传回的主要字段资料:

字段名称 说明
Table 表格名称
Non_unique “0”表示不可重复;“1”可以重复
Key_name 索引名称
Seq_in_index 单一字段的索引为“1”;多个字段的索引表示建立索引的字段顺序
Column_name 索引字段名称
Sub_part 如果是指定长度的索引,这里会显示长度;不是的话显示“NULL”
Null 是否允许“NULL”值
Index_type 索引种类,“BTREE”或“HASH”

你可以在“SHOW INDEX FROM”后面指定一个表格名称,执行以后就可以查询这个表格所有的索引资讯:

mysql_09_snap_93

文章导航