information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
在 MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。

mysql> show tables from information_schema;
 +---------------------------------------+
 | Tables_in_information_schema |
 +---------------------------------------+
 | CHARACTER_SETS             |        ###建库或表时可选用的字体都在这里个表里
 | COLLATIONS                       |             #####提供了关于各字符集的对照信息
 | COLLATION_CHARACTER_SET_APPLICABILITY |       #####指明了可用于校对的字符集。这些列等效于SHOW COLLATION的前两个显示字段。
 | COLUMNS                            | ######提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。
 | COLUMN_PRIVILEGES        |      #####列权限
 | ENGINES                              | ##### show engines的结果来自这个表
 | EVENTS                               | 
 | FILES                                   |
 | GLOBAL_STATUS               |  #### show global status的结果来自这个表的查询
 | GLOBAL_VARIABLES          |   ####mysql全局变量
 | KEY_COLUMN_USAGE        |    #####描述了具有约束的键列
 | OPTIMIZER_TRACE             |   ###可以控制是否为执行的SQL生成查询计划树,默认关闭,我们也建议关闭,因为它会产生额外的性能开销
 | PARAMETERS                     |      #####
 | PARTITIONS                        |     ####数据库分区信息
 | PLUGINS                              |    ####插件信息
 | PROCESSLIST                    |    ####当前mysql正在运行的进程信息
 | PROFILING                          |   ###在开启 Query Profiler 功能之后,MySQL 就会自动记录所有执行的 Query 的 profile 信息了
 | REFERENTIAL_CONSTRAINTS               |
 | ROUTINES                           |  #####提供了关于存储子程序(存储程序和函数)的信息
 | SCHEMATA                         |  #####SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是showdatabases的结果取之此表。
 | SCHEMA_PRIVILEGES       |######给出了关于方案(数据库)权限的信息
 | SESSION_STATUS             |
 | SESSION_VARIABLES        |
 | STATISTICS                        |     #####提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表。
 | TABLES                              |   ###TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
 | TABLESPACES                    |
 | TABLE_CONSTRAINTS       |   ####描述了存在约束的表。以及表的约束类型。
 | TABLE_PRIVILEGES           |  ###给出了关于表权限的信息
 | TRIGGERS                          |   ###记录各表的触发器信息
 | USER_PRIVILEGES             | #####给出了关于全程权限的信息。该信息源自mysql.user授权表。
 | VIEWS                                 |  ###记录各表的视图信息
 | INNODB_LOCKS                 |  ###给出innodb表的锁
 | INNODB_TRX                      |
 | INNODB_SYS_DATAFILES  |
 | INNODB_LOCK_WAITS       |
 | INNODB_SYS_TABLESTATS     |
 | INNODB_CMP                            |
 | INNODB_FT_BEING_DELETED |
 | INNODB_CMP_RESET               |
 | INNODB_CMP_PER_INDEX        |
 | INNODB_CMPMEM_RESET        |
 | INNODB_FT_DELETED               |
 | INNODB_BUFFER_PAGE_LRU   |
 | INNODB_FT_INSERTED              |
 | INNODB_CMPMEM                      |
 | INNODB_SYS_INDEXES               |
 | INNODB_SYS_TABLES               |
 | INNODB_SYS_FIELDS                 |
 | INNODB_CMP_PER_INDEX_RESET   |
 | INNODB_BUFFER_PAGE                    |
 | INNODB_FT_DEFAULT_STOPWORD  |
 | INNODB_FT_INDEX_TABLE                 |
 | INNODB_FT_INDEX_CACHE                |
 | INNODB_SYS_TABLESPACES            |
 | INNODB_METRICS                              |
 | INNODB_SYS_FOREIGN_COLS         |
 | INNODB_FT_CONFIG                         |
 | INNODB_BUFFER_POOL_STATS      |
 | INNODB_SYS_COLUMNS                    |
 | INNODB_SYS_FOREIGN                     |
 +---------------------------------------+
 60 rows in set (0.00 sec)

举个例子

mysql> select table_name from information_schema.tables;
 +----------------------------------------------------+
 | table_name                                         |
 +----------------------------------------------------+
 | CHARACTER_SETS                                     |
 | COLLATIONS                                         |
 | COLLATION_CHARACTER_SET_APPLICABILITY              |
 | COLUMNS                                            |
 | COLUMN_PRIVILEGES                                  |
 | ENGINES                                            |
 | EVENTS                                             |
 | FILES                                              |
 | GLOBAL_STATUS                                      |
 | GLOBAL_VARIABLES                                   |
 | KEY_COLUMN_USAGE                                   |
 | OPTIMIZER_TRACE                                    |
 | PARAMETERS                                         |
 | PARTITIONS                                         |
 | PLUGINS                                            |
 | PROCESSLIST                                        |
 | PROFILING                                          |
 | REFERENTIAL_CONSTRAINTS                            |
 | ROUTINES                                           |
 | SCHEMATA                                           |
 | SCHEMA_PRIVILEGES                                  |
 | SESSION_STATUS                                     |
 | SESSION_VARIABLES                                  |
 | STATISTICS                                         |
 | TABLES                                             |
 | TABLESPACES                                        |
 | TABLE_CONSTRAINTS                                  |
 | TABLE_PRIVILEGES                                   |
 | TRIGGERS                                           |
 …………此处省略部分输出内容…………
 | INNODB_SYS_FOREIGN                                 |
 | test                                               |
 | tt                                                 |
 | customers                                          |
 | orderitems