MySQL 中的 information_schema 数据库

1、information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库。

其中 performance_schema 用于性能分析,而 information_schema 用于存储数据库元数据(关于数据的数据),例如数据库名、表名、列的数据类型、访问权限等。

information_schema 中的表实际上是视图,而不是基本表,因此,文件系统上没有与之相关的文件。

show tables;

2、information_schema 库中常用的表

CHARACTER_SETS 表

提供了 mysql 可用字符集的信息。SHOW CHARACTER SET; 命令从这个表获取结果。

SCHEMATA 表

当前 mysql 实例中所有数据库的信息。SHOW DATABASES; 命令从这个表获取数据。

TABLES 表

存储数据库中的表信息(包括视图),包括表属于哪个数据库,表的类型、存储引擎、创建时间等信息。

SHOW TABLES FROM 库名; 

select * from tables;

命令从这个表获取结果。 

COLUMNS 表

存储表中的列信息,包括表有多少列、每个列的类型等。

SHOW COLUMNS FROM schemaname.tablename 命令从这个表获取结果。

STATISTICS 表

表索引的信息。

SHOW INDEX FROM 库名.表名; 命令从这个表获取结果。

USER_PRIVILEGES 表

用户权限表。内容源自 mysql.user 授权表。是非标准表。

SELECT * FROM USER_PRIVILEGES;

SCHEMA_PRIVILEGES 表

方案权限表。给出了关于方案(数据库)权限的信息。内容来自 mysql.db 授权表。是非标准表。

SELECT * FROM SCHEMA_PRIVILEGES;

TABLE_PRIVILEGES 表

表权限表。给出了关于表权限的信息。内容源自 mysql.tables_priv 授权表。是非标准表。

SELECT * FROM TABLE_PRIVILEGES;

COLUMN_PRIVILEGES 表

列权限表。给出了关于列权限的信息。内容源自 mysql.columns_priv 授权表。是非标准表。

SELECT * FROM COLUMN_PRIVILEGES;

COLLATIONS 表

提供了关于各字符集的对照信息。SHOW COLLATION; 命令从这个表获取结果。

SELECT * FROM COLLATIONS;

COLLATION_CHARACTER_SET_APPLICABILITY 表

指明了可用于校对的字符集。相当于 SHOW COLLATION 命令结果的前两个字段。

SELECT * FROM COLLATION_CHARACTER_SET_APPLICABILITY;

TABLE_CONSTRAINTS 表

描述了存在约束的表。以及表的约束类型。

SELECT * FROM TABLE_CONSTRAINTS;

KEY_COLUMN_USAGE 表

描述了具有约束的键列。

SELECT * FROM KEY_COLUMN_USAGE;

ROUTINES 表

提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES 表不包含自定义函数(UDF)。

名为“mysql.proc name”的列指明了对应于 INFORMATION_SCHEMA.ROUTINES 表的 mysql.proc 列。

VIEWS 表

给出了关于数据库中的视图的信息。需要有 show views 权限,否则无法查看视图信息。

SELECT * FROM VIEWS

TRIGGERS 表

提供了关于触发程序的信息。必须有 super 权限才能查看该表。

SELECT * FROM TRIGGERS 

参考:https://blog.csdn.net/kikajack/article/details/80065753  

原文地址:https://www.cnblogs.com/wongzzh/p/15129555.html