跳转到主要内容
INFORMATION_SCHEMA (或 information_schema) 是一个系统数据库,提供一种近乎标准化的、与 DBMS 无关的视图,用于查看数据库对象的元数据。INFORMATION_SCHEMA 中的视图通常不如常规系统表完善,但工具可以借助它们以跨 DBMS 的方式获取基础信息。INFORMATION_SCHEMA 中各视图的结构和内容应以向后兼容的方式演进,也就是说,只会添加新功能,而不会更改或移除现有功能。从内部实现来看,INFORMATION_SCHEMA 中的视图通常映射到常规系统表,例如 system.columnssystem.databasessystem.tables
INFORMATION_SCHEMA 包含以下视图: 出于兼容其他数据库的考虑,还提供了不区分大小写的对应视图,例如 INFORMATION_SCHEMA.columns。这些视图中的所有列也是如此——同时提供了小写 (例如 table_name) 和大写 (TABLE_NAME) 两种形式。

COLUMNS

包含从 system.columns 系统表中读取的列,以及 ClickHouse 不支持或无实际意义 (始终为 NULL) 、但标准要求必须存在的列。 列:
  • table_catalog (String) — 目前未使用。
  • table_schema (String) — 目前未使用。
  • table_name (String) — 目前未使用。
  • non_unique (Int32) — 目前未使用。
  • index_schema (String) — 目前未使用。
  • index_name (Nullable(String)) — 目前未使用。
  • seq_in_index (UInt32) — 目前未使用。
  • column_name (Nullable(String)) — 目前未使用。
  • collation (Nullable(String)) — 目前未使用。
  • cardinality (Nullable(Int64)) — 目前未使用。
  • sub_part (Nullable(Int64)) — 目前未使用。
  • packed (Nullable(String)) — 目前未使用。
  • nullable (String) — 目前未使用。
  • index_type (String) — 目前未使用。
  • comment (String) — 目前未使用。
  • index_comment (String) — 目前未使用。
  • is_visible (String) — 目前未使用。
  • expression (Nullable(String)) — 目前未使用。
示例
Query
Response

SCHEMATA

包含从 system.databases 系统表读取的列,以及 ClickHouse 中不受支持或没有实际意义 (始终为 NULL) 但标准要求必须存在的列。 列:
  • catalog_name (String) — 数据库名称。
  • schema_name (String) — 数据库名称。
  • schema_owner (String) — schema 所有者名称,始终为 'default'
  • default_character_set_catalog (Nullable(String)) — NULL,不受支持。
  • default_character_set_schema (Nullable(String)) — NULL,不受支持。
  • default_character_set_name (Nullable(String)) — NULL,不受支持。
  • sql_path (Nullable(String)) — NULL,不受支持。
示例
Query
Response

TABLES

包含从 system.tables 系统表中读取的各列。 列:
  • table_catalog (String) — 表所在数据库的名称。
  • table_schema (String) — 表所在数据库的名称。
  • table_name (String) — 表名。
  • table_type (String) — 表类型。可能的值:
    • BASE TABLE
    • VIEW
    • FOREIGN TABLE
    • LOCAL TEMPORARY
    • SYSTEM VIEW
  • table_rows (Nullable(UInt64)) — 总行数。若无法确定,则为 NULL。
  • data_length (Nullable(UInt64)) — 磁盘上数据的大小。若无法确定,则为 NULL。
  • index_length (Nullable(UInt64)) — 主键、次级索引以及所有标记的总大小。
  • table_collation (Nullable(String)) — 表的默认排序规则。始终为 utf8mb4_0900_ai_ci
  • table_comment (Nullable(String)) — 创建表时使用的注释。
示例
Query
Response

VIEWS

包含在使用表引擎 View 时,从 system.tables 系统表中读取的列。 列:
  • table_catalog (String) — 表所在数据库的名称。
  • table_schema (String) — 表所在数据库的名称。
  • table_name (String) — 表名。
  • view_definition (String) — 视图的 SELECT 查询。
  • check_option (String) — NONE,不进行检查。
  • is_updatable (Enum8) — NO,视图不可更新。
  • is_insertable_into (Enum8) — 显示所创建的视图是否为 materialized。可能的值:
    • NO — 所创建的视图不是 materialized。
    • YES — 所创建的视图是 materialized。
  • is_trigger_updatable (Enum8) — NO,触发器不可更新。
  • is_trigger_deletable (Enum8) — NO,触发器不可删除。
  • is_trigger_insertable_into (Enum8) — NO,不会向触发器中插入数据。
示例
Query
Response

KEY_COLUMN_USAGE

包含 system.tables 系统表中受约束限制的列。 列:
  • constraint_catalog (String) — 当前未使用。始终为 def
  • constraint_schema (String) — 该约束所属 schema (数据库) 的名称。
  • constraint_name (Nullable(String)) — 约束名称。
  • table_catalog (String) — 当前未使用。始终为 def
  • table_schema (String) — 该表所属 schema (数据库) 的名称。
  • table_name (String) — 具有该约束的表名称。
  • column_name (Nullable(String)) — 具有该约束的列名称。
  • ordinal_position (UInt32) — 当前未使用。始终为 1
  • position_in_unique_constraint (Nullable(UInt32)) — 当前未使用。始终为 NULL
  • referenced_table_schema (Nullable(String)) — 当前未使用。始终为 NULL
  • referenced_table_name (Nullable(String)) — 当前未使用。始终为 NULL
  • referenced_column_name (Nullable(String)) — 当前未使用。始终为 NULL
示例
Query
Response

REFERENTIAL_CONSTRAINTS

包含有关外键的信息。目前返回空结果 (无行) ,这仅用于与 Tableau Online 等第三方工具保持兼容。 列:
  • constraint_catalog (String) — 当前未使用。
  • constraint_schema (String) — 当前未使用。
  • constraint_name (Nullable(String)) — 当前未使用。
  • unique_constraint_catalog (String) — 当前未使用。
  • unique_constraint_schema (String) — 当前未使用。
  • unique_constraint_name (Nullable(String)) — 当前未使用。
  • match_option (String) — 当前未使用。
  • update_rule (String) — 当前未使用。
  • delete_rule (String) — 当前未使用。
  • table_name (String) — 当前未使用。
  • referenced_table_name (String) — 当前未使用。

STATISTICS

提供有关表索引的信息。目前会返回空结果 (0 行) ,仅用于兼容 Tableau Online 等第三方工具。
最后修改于 2026年7月1日