跳转到主内容
跳转到主内容

system.columns

描述

包含所有表中列的信息。

你可以使用此表获取类似 DESCRIBE TABLE 查询返回的信息,但可以一次性针对多个表进行查询。

来自临时表的列仅在创建它们的会话中在 system.columns 中可见。此时这些列的 database 字段为空。

  • database (String) — 数据库名称。
  • table (String) — 表名。
  • name (String) — 列名。
  • type (String) — 列类型。
  • position (UInt64) — 列在表中的序号,从 1 开始。
  • default_kind (String) — 默认值的表达式类型 (DEFAULT、MATERIALIZED、ALIAS) ;如果未定义,则为空字符串。
  • default_expression (String) — 默认值的表达式;如果未定义,则为空字符串。
  • data_compressed_bytes (UInt64) — 压缩数据的大小,以字节为单位。
  • data_uncompressed_bytes (UInt64) — 解压后数据的大小,以字节为单位。
  • marks_bytes (UInt64) — marks 的大小,以字节为单位。
  • comment (String) — 列注释;如果未定义,则为空字符串。
  • is_in_partition_key (UInt8) — 指示该列是否位于分区表达式中的标志。
  • is_in_sorting_key (UInt8) — 指示该列是否位于排序键表达式中的标志。
  • is_in_primary_key (UInt8) — 指示该列是否位于主键表达式中的标志。
  • is_in_sampling_key (UInt8) — 指示该列是否位于采样键表达式中的标志。
  • compression_codec (String) — 压缩编解码器名称。
  • character_octet_length (Nullable(UInt64)) — 二进制数据、字符数据、文本数据或图像数据的最大字节长度。在 ClickHouse 中,这仅对 FixedString 数据类型有意义。否则返回 NULL 值。
  • numeric_precision (Nullable(UInt64)) — 近似数值数据、精确数值数据、整数数据或货币数据的精度。在 ClickHouse 中,对整数类型表示位宽,对 Decimal 类型表示十进制精度。否则返回 NULL 值。
  • numeric_precision_radix (Nullable(UInt64)) — 近似数值数据、精确数值数据、整数数据或货币数据精度所使用的数制基数。在 ClickHouse 中,对整数类型为 2,对 Decimal 类型为 10。否则返回 NULL 值。
  • numeric_scale (Nullable(UInt64)) — 近似数值数据、精确数值数据、整数数据或货币数据的小数位精度。在 ClickHouse 中,这仅对 Decimal 类型有意义。否则返回 NULL 值。
  • datetime_precision (Nullable(UInt64)) — DateTime64 数据类型的小数位精度。对于其他数据类型,返回 NULL 值。
  • serialization_hint (Nullable(String)) — 列在插入时根据统计信息选择序列化方式的提示。
  • statistics (String) — 在此列上创建的统计信息类型。

別名:

  • columnname 的别名。

示例

SELECT * FROM system.columns LIMIT 2 FORMAT Vertical;
Row 1:
──────
database:                INFORMATION_SCHEMA
table:                   COLUMNS
name:                    table_catalog
type:                    String
position:                1
default_kind:
default_expression:
data_compressed_bytes:   0
data_uncompressed_bytes: 0
marks_bytes:             0
comment:
is_in_partition_key:     0
is_in_sorting_key:       0
is_in_primary_key:       0
is_in_sampling_key:      0
compression_codec:
character_octet_length:  ᴺᵁᴸᴸ
numeric_precision:       ᴺᵁᴸᴸ
numeric_precision_radix: ᴺᵁᴸᴸ
numeric_scale:           ᴺᵁᴸᴸ
datetime_precision:      ᴺᵁᴸᴸ

Row 2:
──────
database:                INFORMATION_SCHEMA
table:                   COLUMNS
name:                    table_schema
type:                    String
position:                2
default_kind:
default_expression:
data_compressed_bytes:   0
data_uncompressed_bytes: 0
marks_bytes:             0
comment:
is_in_partition_key:     0
is_in_sorting_key:       0
is_in_primary_key:       0
is_in_sampling_key:      0
compression_codec:
character_octet_length:  ᴺᵁᴸᴸ
numeric_precision:       ᴺᵁᴸᴸ
numeric_precision_radix: ᴺᵁᴸᴸ
numeric_scale:           ᴺᵁᴸᴸ
datetime_precision:      ᴺᵁᴸᴸ