1. Information_schema
information_schema是mysql的信息数据库。通过该库可以查看mysql下面的数据库,表,权限等信息。
在数据库中会默认生成这个库。information_schema其实是view视图,并不是真实存在的表。
在mysql终端可以查看所有数据库。
mysql> show databases;
2. 包含的表
查看下面包含的表
mysql> use information_schema;
Database changed
mysql> 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触发程序的信息。