INFORMATION_SCHEMA 一个特殊 MySQL数据库

INFORMATION_SCHEMA 是 MySQL 的一个特殊数据库,它提供了关于其他数据库的信息,包括数据库对象(如表、列、数据类型、访问权限等)的元数据。INFORMATION_SCHEMA 是只读的,不能直接在这个数据库中创建或删除表,但它提供了丰富的视图(views),这些视图允许查询数据库服务器的状态信息、数据库元数据、表元数据、列元数据、索引信息等。

以下是一些 INFORMATION_SCHEMA 中常见的表和视图,以及它们的大致用途:

  1. SCHEMATA:提供了关于所有数据库的信息,比如数据库的名称、字符集、排序规则等。

  2. TABLES:包含了关于数据库中所有表的信息,比如表名、所属数据库、表类型(BASE TABLE、VIEW等)、行格式、表的创建时间等。

  3. COLUMNS:包含了数据库中所有表的列信息,比如列名、数据类型、是否允许为NULL、默认值、字符集等。

  4. STATISTICS:包含了关于表索引的信息,比如索引的名称、表名、索引类型(如BTREE)、索引列等,对于优化查询非常有用。

  5. VIEWS:提供了数据库中所有视图的信息,比如视图名、定义视图的SQL语句等。

  6. ROUTINES:包含了关于存储过程和函数的信息,比如名称、类型(PROCEDURE或FUNCTION)、定义、字符集等。

  7. TRIGGERS:提供了关于触发器的信息,包括触发器名称、所属的表、触发事件(INSERT、UPDATE、DELETE)、触发时机(BEFORE或AFTER)等。

  8. PARTITIONS:如果表是分区表,这个表将提供关于分区的信息,比如分区类型、分区表达式、每个分区的行数等。

  9. TABLE_CONSTRAINTS:提供了关于表约束的信息,比如主键、外键等。

  10. KEY_COLUMN_USAGE:这个表描述了表中的键列(包括主键和外键列)的详细信息,比如哪个列是主键的一部分,哪个列是外键并引用了哪个表的哪个列等。

  11. REFERENTIAL_CONSTRAINTS:包含了外键约束的详细信息,比如约束名称、引用的表和列等。

使用 INFORMATION_SCHEMA 可以让不直接查询数据表的情况下,获得关于数据库结构的大量信息,这对于数据库管理、优化和监控来说非常有用。例如,可以使用 INFORMATION_SCHEMA 来查找数据库中所有的表,或者检查某个表是否包含特定的列。

  • 查看所有表
SELECT
	TABLE_SCHEMA,
	TABLE_NAME,
	TABLE_ROWS 
FROM
	INFORMATION_SCHEMA.TABLES 
WHERE
	TABLE_SCHEMA = '你的数据库名'; 
  • 查询所有视图
SELECT
	TABLE_NAME,TABLE_SCHEMA,VIEW_DEFINITION
FROM
	INFORMATION_SCHEMA.VIEWS
WHERE
	TABLE_SCHEMA = '你的数据库名'; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值