由于工作需要,需要查询Mysql数据库的元数据,查询了各种文档,发现详细内容很少,只好自己一点点的摸索,以下是摸索出来的结果.

Mysql的元数据信息可以从INFORMATION_SCHEMA库中查出,INFORMATION_SCHEMA这个库实际上是个虚拟库,库中的表都是只读的视图,用来方便查询数据库元数据的信息.

下面是这个库中的表介绍

一 SCHEMATA

提供了所有数据库的信息,一行代表一个数据库

二 TABLES

提供了数据库中所有的表

比较重要的信息有 TABLE_NAME,TABLE_SCHEMA

| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | ENGINE | VERSION | ROW_FORMAT | TABLE_ROWS | AVG_ROW_LENGTH | DATA_LENGTH | MAX_DATA_LENGTH | INDEX_LENGTH | DATA_FREE | AUTO_INCREMENT | CREATE_TIME | UPDATE_TIME | CHECK_TIME | TABLE_COLLATION | CHECKSUM | CREATE_OPTIONS | TABLE_COMMENT |

三 COLUMNS

| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | COLUMN_DEFAULT | IS_NULLABLE | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | CHARACTER_SET_NAME | COLLATION_NAME | COLUMN_TYPE | COLUMN_KEY | EXTRA | PRIVILEGES | COLUMN_COMMENT |

其中

COLUMN_NAME表示列名

COLUMN_KEY : PRI 或者 MUL 指定了字段的键类型

EXTRA :是否是自动递增列

四 STATISTICS

提供了数据库中所有的索引信息

| TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | NON_UNIQUE | INDEX_SCHEMA | INDEX_NAME | SEQ_IN_INDEX | COLUMN_NAME | COLLATION | CARDINALITY | SUB_PART | PACKED | NULLABLE | INDEX_TYPE | COMMENT |

NON_UNIQUE:是否唯一索引,唯一为0,否则为1

SEQ_IN_INDEX:字段在索引中的位置

COLUMN_NAME:字段名称

五 KEY_COLUMN_USAGE

提供了数据库中外键信息

六 VIEWS

提供了视图

以上只是一些基本信息.留待完善.

posted on 2007-04-19 21:15  上善若水  阅读(792)  评论(2编辑  收藏  举报