1: STATISTICS
这个表提供的是关于表的索引信息:
| INFORMATION_SCHEMA Name | SHOW Name |
| TABLE_CATALOG | |
| TABLE_SCHEMA | |
| TABLE_NAME | Table |
| NON_UNIQUE | Non_unique |
| INDEX_SCHEMA | |
| INDEX_NAME | Key_name |
| SEQ_IN_INDEX | Seq_in_index |
| COLUMN_NAME | Column_name |
| COLLATION | Collation |
| CARDINALITY | Cardinality |
| SUB_PART | Sub_part |
| PACKED | Packed |
| NULLABLE | Null |
| INDEX_TYPE | Index_type |
| COMMENT | Comment |
| INDEX_COMMENT | Index_comment |
可以通过以下的语句查询信息:
SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE table_name = ‘tbl_name‘ AND table_schema = ‘db_name‘
类似于
SHOW INDEX FROM tbl_name FROM db_name
也可以查看表里面有多少个索引:
select distinct INDEX_NAME from information_schema.statistics WHERE TABLE_SCHEMA=‘qiandai‘ and TABLE_NAME=‘t1‘;
再SHOW INDEX FROM tbl_name FROM db_name查看每个索引的详细信息。
2: TABLESPACES
这个表是不提供关于innodb的表空间信息的,简略看一下就OK额了。我们只基于innodb来看
| INFORMATION_SCHEMA Name | SHOW Name |
| TABLESPACE_NAME | |
| ENGINE | |
| TABLESPACE_TYPE | 类型 |
| LOGFILE_GROUP_NAME | |
| EXTENT_SIZE | |
| AUTOEXTEND_SIZE | |
| MAXIMUM_SIZE | |
| NODEGROUP_ID | |
| TABLESPACE_COMMENT |
3:TABLE_CONSTRAINTS
这个表提供的是 表的相关的约束信息,表结构如下:
| INFORMATION_SCHEMA Name | SHOW Name |
| CONSTRAINT_CATALOG | 描述 |
| CONSTRAINT_SCHEMA | 相关schema |
| CONSTRAINT_NAME | 名字 |
| TABLE_SCHEMA | 表schema |
| TABLE_NAME | 表名 |
| CONSTRAINT_TYPE | 约束的类型 |
可以通过以下语句查看表的约束都有那些。
select * from information_schema.TABLE_CONSTRAINTS where TABLE_SCHEMA=‘qiandai‘ and table_name=‘t1‘ ;
4:TABLE_PRIVILEGES
提供的是表权限相关信息,信息是从 mysql.tables_priv 表中加载的 ,所以说这个表是内存表,每次重新重启都会重新加载,或者FLUSH PRIVILEGES的时候都会重新加载一次。
| INFORMATION_SCHEMA Name | SHOW Name |
| GRANTEE | |
| TABLE_CATALOG | |
| TABLE_SCHEMA | |
| TABLE_NAME | |
| PRIVILEGE_TYPE | |
| IS_GRANTABLE |
PRIVILEGE_TYPE可能会包含以下的权限:
SELECT, INSERT, UPDATE, REFERENCES, ALTER, INDEX, DROP, CREATE VIEW.
5: USER_PRIVILEGES
提供的是表权限相关信息,信息是从 mysql.user 表中加载的 ,所以说这个表是内存表,每次重新重启都会重新加载,或者FLUSH PRIVILEGES的时候都会重新加载一次
| INFORMATION_SCHEMA Name | SHOW Name |
| GRANTEE | |
| TABLE_CATALOG | |
| PRIVILEGE_TYPE | |
| IS_GRANTABLE |