Mysql信息数据库:Information_schema_MySQL
程序员文章站
2022-04-29 17:52:54
...
1. Information_schema
information_schema是mysql的信息数据库。通过该库可以查看mysql下面的数据库,表,权限等信息。
在数据库中会默认生成这个库。
在mysql终端可以查看所有数据库。
mysql> show databases;
2. 包含的表
查看下面包含的表
mysql> use information_schema;Database changedmysql> show tables;
3. SCHEMATA
包含所有数据库的信息
select * from SCHEMATA;会列出所有database的信息,与 show databases;相通。
4. TABLES
information_schema.tables表用来保存数据库中所有表的信息。
TABLE_SCHEMA: 数据库名称 TABLE_NAME: 表名称 TABLE_TYPE: BASE TABLE为基本数据表,VIEW为视图 ENGINE: 存储引擎InnoDB VERSION: 10 ROW_FORMAT: Compact TABLE_ROWS: 表行数,对于InnoDB表,在SQL优化中,行计数仅是大概估计值。 AVG_ROW_LENGTH: 平均行长度 DATA_LENGTH: 数据存储大小MAX_DATA_LENGTH: 0 INDEX_LENGTH: 索引大小 DATA_FREE: innodb表显示可用空间 AUTO_INCREMENT: 自增长id CREATE_TIME: 创建时间TABLE_COLLATION: 校对字符集gbk_chinese_ci查询一个表占用空间的大小
select concat(round(((INDEX_LENGTH+DATA_LENGTH)/1024/1024),2),'MB') as data from TABLES where table_schema='my_db' and table_name='my_table';表示my_db.my_table表占用索引和数据总和的大小。
5. COLUMNS
columns表中包含所有数据库中的字段信息。
包含字段的数据库,表,校对编码,权限等信心
6. TRIGGERS
关于mysql触发程序的信息。