information_schema信息数据库介绍

INFORMATION_SCHEMA是一个特殊数据库,存储SQL标准中的数据库元数据,如表、列、约束和权限信息。它存在于MySQL、PostgreSQL、SQLServer、MariaDB和Oracle等系统中,提供只读视图以查询元数据。虽然结构相似,但不同数据库系统的具体视图可能有差异。频繁查询可能影响性能,主要用于获取数据库对象的详细信息。

INFORMATION_SCHEMA 是什么

INFORMATION_SCHEMA 是一种特殊的数据库,它在 SQL 标准中定义并存在于许多类型的数据库中,用于存储数据库的元数据,包括数据库、表、列、约束、权限等的信息。

具有 INFORMATION_SCHEMA 的数据库系统包括但不限于以下:

  • MySQL:MySQL的 INFORMATION_SCHEMA 包含多个只读视图,用于获取关于数据库对象和服务器实例的元数据。这些视图包括 TABLESCOLUMNSSTATISTICSSCHEMATAUSER_PRIVILEGES 等。

  • PostgreSQL:PostgreSQL的 INFORMATION_SCHEMA 提供与 MySQL 类似的功能,但具体的视图可能会有所不同。

  • SQL Server:SQL Server 的 INFORMATION_SCHEMA 视图包含有关数据库元数据的信息,如 TABLESCOLUMNSROUTINESVIEWSTABLE_CONSTRAINTS 等。

  • MariaDB:MariaDB的 INFORMATION_SCHEMA 与 MySQL 的非常相似,提供大量的视图用于查询数据库元数据。

  • Oracle:在 Oracle 中,类似于 INFORMATION_SCHEMA 的元数据信息存储在一系列名为 ALL_, USER_DBA_ 的视图中。

注意:

        尽管 INFORMATION_SCHEMA 在不同的数据库系统中都存在,但提供的具体视图和详细信息可能会有所不同。

        尽管 INFORMATION_SCHEMA 对于数据库元数据的访问非常有用,但是在大型数据库中频繁访问 INFORMATION_SCHEMA 可能会影响性能,因为生成这些信息可能需要消耗大量资源。

INFORMATION_SCHEMA 的一些主要特性:

  • 标准兼容:INFORMATION_SCHEMA 数据库在许多数据库系统中都存在,因为它是 SQL-92 标准的一部分。这意味着不论使用哪种数据库系统,可以用相同的方式查询元数据。

  • 只读:INFORMATION_SCHEMA 中的表是只读的,不能进行插入、删除或更新操作。元数据的更改必须通过执行其他操作(例如,创建新的数据库、更改表结构等)来完成,然后这些更改会自动反映在 INFORMATION_SCHEMA 中。

  • 动态数据:INFORMATION_SCHEMA 表中的数据是动态生成的。这意味着,每次查询时,MySQL 会返回表中最新的数据。

INFORMATION_SCHEMA 包含许多表,一些常用的包括:

表名 表功能描述及字段含义
SCHEMATA

包含所有数据库的列表以及有关这些数据库的信息,如默认字符集、默认排序规则等

  • CATALOG_NAME:数据库所属的目录的名称。在 MySQL 中,此值始终为 def

  • SCHEMA_NAME:数据库的名称。

  • DEFAULT_CHARACTER_SET_NAME:数据库的默认字符集。

  • DEFAULT_COLLATION_NAME:数据库的默认排序规则。

  • SQL_PATH:保留给标准 SQL 使用。在 MySQL 中,此值始终为 NULL

TABLES

包含所有数据库中的表信息,如表名、表类型(如 BASE TABLE, VIEW 等)、存储引擎、创建时间、更新时间等

  • TABLE_CATAL

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值