Mysql元信息系统表详解

Mysql 元数据库 information_schema

information_schema是一个元数据库。它就像物业公司的信息库,对管理的每栋大厦有多少电梯、电梯型号、每个房间的长宽高等等了如指掌。 

常见的元信息表

  1. SCHEMATA

提供数据库信息,有哪些数据库,字符集是GBK还是UTF-8等等。常用字段:

字段名

含义

备注

SCHEMA_NAME

数据库名

 

DEFAULT_CHARACTER_SET_NAME

字符集

 

DEFAULT_COLLATION_NAME

排序规则

 

 

  1. TABLES

提供表的信息,数据库有哪些表,是什么存储引擎等等。常用字段:

字段名

含义

备注

SCHEMA_NAME

数据库名

 

TABLE_NAME

表名

 

TABLE_TYPE

表的类型

类型有BASE TABLE、VIEW、SYSTEM VIEW

ENGINE

存储引擎

 

CREATE_TIME

建表时间

 

 

  1. COLUMNS 

提供字段的信息,有哪些字段字段类型是什么等等。常用字段:

字段名

含义

备注

SCHEMA_NAME

数据库名

 

TABLE_NAME

表名

 

COLUMN_NAME

字段名

 

COLUMN_TYPE

字段类型

如int(10),varchar(250)

等同命令:SHOW COLUMNS 或者 desc tctest.emp 看emp表的具体字段。

  1. STATISTICS 

这张表的单词是统计的意思,但是却是索引的信息,真奇怪。常用字段:

字段名

含义

备注

SCHEMA_NAME

数据库名

 

TABLE_NAME

表名

 

INDEX_SCHEMA

也是数据库名

 

INDEX_NAME

索引名

 

COLUMN_NAME

字段名

 

INDEX_TYPE

索引类型

一般是BTREE

等同命令:SHOW INDEX

  1. TABLE_CONSTRAINTS 

提供约束情况,我们想看看表有哪些约束?约束指的是唯一性约束、主键约束、外键约束。常用字段:

字段名

含义

备注

CONSTRAINT_SCHEMA

数据库名

 

CONSTRAINT_NAME

约束名

 

TABLE_SCHEMA

也是数据库名

 

TABLE_NAME

表名

 

CONSTRAINT_TYPE

约束类型

UNIQUE、PRIMARY KEY、FOREIGN KEY

唯一约束和主键约束,我们在前面的索引中一样可以查到。

  1. KEY_COLUMN_USAGE 

有STATISTICS和TABLE_CONSTRAINTS表,为什么还需要KEY_COLUMN_USAGE? 
因为外键时没有指出参考的是哪张表的哪个字段!常用字段:

字段名

含义

备注

CONSTRAINT_SCHEMA

数据库名

 

CONSTRAINT_NAME

约束名

PRIMARY或列名或外键名

TABLE_SCHEMA

也是数据库名

 

TABLE_NAME

表名

 

COLUMN_NAME

列名

 

REFERENCED_TABLE_SCHEMA

参考的数据库

 

REFERENCED_TABLE_NAME

参考的表

 

REFERENCED_COLUMN_NAME

参考的列

 

相比前面两个,KEY_COLUMN_USAGE这个表的信息是最全的。包括主键、外键、唯一约束。

  1. ROUTINES 

routines是程序的意思,在MySQL当然指的是函数和存储过程

字段名

含义

备注

SPECIFIC_NAME

程序名

 

ROUTINE_SCHEMA

数据库名

 

ROUTINE_NAME

程序名

 

ROUTINE_TYPE

程序类型

PROCEDURE或FUNCTION

ROUTINE_BODY

函数体

好像都是SQL

ROUTINE_DEFINITION

具体的程序语句

 

  1. VIEWS 

查询数据库下所有的视图

字段名

含义

备注

TABLE_SCHEMA

数据库名

 

TABLE_NAME

表名

 

VIEW_DEFINITION

视图定义语句

 

  1. TRIGGERS 

查询所有的触发器

字段名

含义

备注

TRIGGER_SCHEMA

数据库名

 

TRIGGER_NAME

触发器名

 

EVENT_OBJECT_SCHEMA

触发的数据库

 

EVENT_OBJECT_TABLE

触发的表

 

ACTION_STATEMENT

触发的语句

 

ACTION_TIMING

触发时机

BEFORE或AFTER

©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页