Mysql 初相识 | 全方位认识 information_schema(一)(转)

如题所述

以下是MySQL中information_schema系统库的全方位认识,主要针对MySQL 5.7版本进行整理。


什么是information_schema?


information_schema是一个数据库元数据、统计信息、以及MySQL Server信息的访问库,它包含了数据库名、表名、字段数据类型、访问权限等信息。每个MySQL实例中都有一个独立的information_schema,用于存储实例中所有数据库的基本信息。其下包含多个只读表,这些表不是持久表,因此在磁盘数据目录下没有对应文件,且不支持触发器设置。


访问information_schema需要的权限?


所有用户都有访问information_schema下表的权限,但只能看到用户具有访问权限的对象对应的数据行。权限涉及Server层的部分数据字典表和InnoDB层的数据字典表,不足权限时查询Server层数据字典表将不返回数据或返回NULL值,查询InnoDB数据字典表将直接拒绝访问(需process权限,而非select权限)。


information_schema的优势?


在MySQL中,通过查询information_schema下的表获取数据有以下优势:



    符合"Codd法则",基于表的访问完成。


    使用SELECT语句,学习所需的表名和列名含义。


    SQL语句查询,结果集格式对应用程序友好,可过滤、排序、联结。


    与其他数据库系统实现具有互操作性。



从information_schema中查询相关数据需要的权限?


访问information_schema时,权限与SHOW语句类似,查询时必须拥有某个对象的权限才能看到相关数据。


information_schema中的表组成?


information_schema主要分为以下几类表:



    Server层统计信息字典表:如COLUMNS、KEY_COLUMN_USAGE、REFERENTIAL_CONSTRAINTS等。


    Server层表级别对象字典表:如VIEWS、TRIGGERS、TABLES等。


    Server层混杂信息字典表:如GLOBAL_STATUS、SESSION_STATUS等。


    InnoDB层系统字典表:如INNODB_SYS_DATAFILES、INNODB_SYS_INDEXES等。


    InnoDB层锁、事务、统计信息字典表:如INNODB_LOCKS、INNODB_TRX等。


    InnoDB层全文索引字典表:如INNODB_FT_CONFIG、INNODB_FT_INDEX_TABLE等。


    InnoDB层压缩相关字典表:如INNODB_CMP、INNODB_CMPMEM等。



这些表覆盖了MySQL Server、InnoDB存储引擎和全文索引等领域的信息,提供了对数据库元数据、统计信息的高效访问方式。

温馨提示:内容为网友见解,仅供参考
无其他回答

Mysql 初相识 | 全方位认识 information_schema(一)(转)
information_schema是一个数据库元数据、统计信息、以及MySQL Server信息的访问库,它包含了数据库名、表名、字段数据类型、访问权限等信息。每个MySQL实例中都有一个独立的information_schema,用于存储实例中所有数据库的基本信息。其下包含多个只读表,这些表不是持久表,因此在磁盘数据目录下没有对应文件,...

MySQL information_schema 详解
information_schema数据库在MySQL中扮演着重要角色,它提供了一种访问数据库元数据的方式,即关于数据的数据,包括数据库名、表、列的数据类型以及访问权限等信息。此数据库相当于MySQL实例的百科全书,提供了数据库运行情况的深入了解,包括字符集、权限、实体对象、约束、管理、表信息和索引信息等。下面将深...

MySQL information_schema 系统库介绍
在日常操作中,与information_schema的交互频繁。比如,查询数据库对象信息时,我们通常会访问这个库,如show tables命令实际上是从information_schema.TABLES表获取数据。show databases、show processlist等命令同样依赖于information_schema库。这个库就像一个信息查询的搜索引擎,为我们揭示了数据库的深层细节。...

mysql数据库中的information_schema 是什么啊?如下图
说得简单点,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里...

information_schema
INFORMATION_SCHEMA.COLUMN_DOMAIN_USAGE 视图以 sysobjects、syscolumns 和 systypes 系统表为基础。TABLES 当前用户具有权限的当前数据库中的每个表在该视图中占一行。INFORMATION_SCHEMA.TABLES 视图以 sysobjects 系统表为基础。每一个数据库都可以看到.

mysql数据库中的information_schema 是什么啊?如下图
1.information schema 是mysql系统用的所有字典信息,包括数据库系统有什么库,有什么表,有什么字典,有什么存储过程等所有对象信息和进程访问、状态信息。一旦删除该数据库系统将无法使用。2.mysql数据库是保存系统有关的权限,对象和状态信息。同样是不能删除的。并且这两个数据库都很小,不占用空间,你...

MY SQL 中的 INFORMATION_SCHEMA 数据库
INFORMATION_SCHEMA 不是数据库是系统视图!master库-->视图 master 数据库记录 SQL Server 系统的所有系统级别信息。它记录所有的登录帐户和系统配置设置。master 数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置。master 数据库记录 SQL Server 的...

MySQL默认INFORMATION_SCHEMA,MySQL,TEST三个数据库用途
第一个数据库INFORMATION_SCHEMA:提供了访问数据库元数据的方式。元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。INFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。在...

information_schema作用
提供元数据查询,管理数据库权限。1、提供元数据查询:可以通过查询informationschema来获取数据库的结构信息,如数据库、表、列的名称、数据类型、默认值、是否为空等信息。2、管理数据库权限:可以通过查询informationschema来查看和管理数据库用户权限信息,如用户的权限、角色、授权对象等。

Mysql Server 层混杂信息字典表 | 全方位认识 information_schem...
然后是 INFORMATION_SCHEMA.PROCESSLIST 表,查询线程运行过程中的状态信息。提供线程 ID、用户、主机、数据库、命令、时间、状态、语句等信息。与 SHOW processlist; 的输出信息相似,但权限不同。该表同样为 InnoDB 引擎的临时表,信息包括:ID、USER、HOST、DB、COMMAND、TIME 等。最后,我们探讨 ...

相似回答
大家正在搜