admin管理员组

文章数量:1638921

一、mysql 系统自带信息数据库

 在Mysql数据库中,有三个自带的信息数据库:

  • information_schema库
  • mysql库
  • performance_schema库

  

performance_schema 用于性能分析

二、 information_schema 

information_schema :

用于存储数据库元数据(关于数据的数据),例如数据库名、表名、列的数据类型、访问权限等。

information_schema 中的表实际上是视图,而不是基本表,因此,文件系统上没有与之相关的文件。???

2.1 information_schema 库中常用的表

CHARACTER_SETS提供了 mysql 可用字符集的信息。SHOW CHARACTER SET; 命令从这个表获取结果。
 COLUMNS存储表中的列信息,包括表有多少列、每个列的类型等。SHOW COLUMNS FROM schemaname.tablename 命令从这个表获取结果。
COLUMN_PRIVILEGES 列权限
SCHEMATA当前 mysql 实例中所有数据库的信息。SHOW DATABASES; 命令从这个表获取数据。
STATISTICS表索引的信息。SHOW INDEX FROM schemaname.tablename; 命令从这个表获取结果。
TABLES存储数据库中的表信息(包括视图),包括表属于哪个数据库,表的类型、存储引擎、创建时间等信息。SHOW TABLES FROM XX; 命令从这个表获取结果。
TABLE_PRIVILEGES表权限
USER_PRIVILEGES用户权限表

其中最重要的是schemata、tables、columns这三个数据库

2.2  COLUMNS 表

COLUMNS ,存储表中的列信息,包括表有多少列、每个列的类型等。

SHOW COLUMNS FROM schemaname.tablename 命令从这个表获取结果。

表COLUMNS ,存储的是整个数据库里,所有表的所有列信息。

表的每一列,都对应COLUMNS表中每一行数据。

如Student表。一共有5列。

 

 则在COLUMNS中,存储Student表的列数据,一共有5条。每一条数据对应一个列。

 

2.2.1 COLUMNS表中,部分列的信息:

TABLE_SCHEMA:数据库名

TABLE_NAME:表名

COLUMN_NAME:列名

COLUMN_KEY:列对应索引类型PRI、MUL

COLUMN_TYPE:列的数据类型,char varchar int bigint等等

COLUMN_COMMENT:列的注释信息。

DATA_TYPE:列数据类型

COLUMN_DEFAULT:列中默认值

CHARACTER_SET_NAME:数据库对应字符列默认字符编码,utf8等

IS_NULLABLE: 是否为null

NUMERIC_PRECISION: 列中数字长度(整数部分)
NUMERIC_SCALE: 列中数字长度(浮点数部分)

 参考博客:

MySQL 中的 information_schema 数据库_kikajack的博客-CSDN博客_information_schema

information_schema介绍_weixin_46195145的博客-CSDN博客

本文标签: mysqlinformationschema