MySQL服务器之information_schema数据库
- 简介:
- 重要的几个表:
- 1.schemata
- 2.tables
- 3.columns
简介:
information_schema是MySQL系统库之一,它用于存储关于数据库和表的元数据信息。该库包含了一系列的表,用于存储关于数据库、表、列、索引、约束、权限等的信息。
information_schema库中的表包括:
表格(tables):存储数据库中的表的信息,例如表名、引擎类型、行数等。
列(columns):存储表中的列的信息,例如列名、数据类型、默认值等。
约束(constraints):存储表中的约束信息,例如主键、外键、唯一约束等。
索引(indexes):存储表中的索引信息,例如索引名、索引类型、索引列等。
用户权限(privileges):存储用户和表之间的权限关系。
通过查询information_schema库中的表,可以获取关于数据库和表的详细信息,用于数据分析、权限管理等操作。例如,可以通过查询表格表获取数据库中所有表的列表,通过查询列表获取表的列信息等。
特别的是,information_schema库是一个虚拟库,其表中的数据并不实际存储在磁盘上,而是在运行时动态生成的。因此,information_schema库中的数据不可更改,只能用于查询元数据信息。
重要的几个表:
1.schemata
schemata这个表中存储了整个数据库服务器中的数据库名,其中特别需要注意的是:
SCHEMA_NAME,这列可以直接查询出数据库名。
±-------------±-------------------±---------------------------±-----------------------±---------+
| CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |
±-------------±-------------------±---------------------------±-----------------------±---------+
| def | information_schema | utf8 | utf8_general_ci | NULL |
| def | mysql | latin1 | latin1_swedish_ci | NULL |
| def | sys | utf8 | utf8_general_ci | NULL |
±-------------±-------------------±---------------------------±-----------------------±---------+
2.tables
tables这个表中记录了数据库中的各个表,这里要注意:
- TABLE_SCHEMA ,这一列可以直接反应表的从属关系
- TABLE_NAME,这一列可以直接得到表的名称
±--------------±-------------------±-----------±------------±-------±--------±-----------±-----------±---------------±------------±----------------±-------------±----------±---------------±--------------------±------------±-----------±----------------±---------±----------------±--------------+
| 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 |
±--------------±-------------------±-----------±------------±-------±--------±-----------±-----------±---------------±------------±----------------±-------------±----------±---------------±--------------------±------------±-----------±----------------±---------±----------------±--------------+
| def | information_schema | COLLATIONS | SYSTEM VIEW | MEMORY | 10 | Fixed | NULL |
231 | 0 | 66819522 | 0 | 0 | NULL | 2024-09-10 23:24:14 | NULL | NULL | utf8_general_ci | NULL | max_rows=290514 | |
±--------------±-------------------±-----------±------------±-------±--------±-----------±-----------±---------------±------------±----------------±-------------±----------±---------------±--------------------±------------±-----------±----------------±---------±----------------±--------------+
3.columns
columns这个表记录了表中的列。这里要注意:
- TABLE_SCHEMA ,这一列可以直接反应表的从属关系
- TABLE_NAME,这一列可以直接得到表的名称
- COLUMN_NAME,得到表中列的名称
±--------------±-------------------±---------------±---------------------±-----------------±---------------±------------±----------±-------------------------±-----------------------±------------------±--------------±-------------------±-------------------±----------------±------------±-----------±------±-----------±---------------±----------------------+
| 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 | DATETIME_PRECISION | CHARACTER_SET_NAME | COLLATION_NAME | COLUMN_TYPE | COLUMN_KEY | EXTRA | PRIVILEGES | COLUMN_COMMENT | GENERATION_EXPRESSION |
±--------------±-------------------±---------------±---------------------±-----------------±---------------±------------±----------±-------------------------±-----------------------±------------------±--------------±-------------------±-------------------±----------------±------------±-----------±------±-----------±---------------±----------------------+
| def | information_schema | CHARACTER_SETS | DEFAULT_COLLATE_NAME | 2 | | NO | varchar |
32 | 96 | NULL | NULL | NULL | utf8 | utf8_general_ci | varchar(32) |
| | select | | |
±--------------±-------------------±---------------±---------------------±-----------------±---------------±------------±----------±-------------------------±-----------------------±------------------±--------------±-------------------±-------------------±----------------±------------±-----------±------±-----------±---------------±----------------------+