跳到主要内容
跳到主要内容

system.columns

包含所有表中列的信息。

您可以使用此表获取与 DESCRIBE TABLE 查询类似的信息,但可以一次性获取多个表的信息。

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

system.columns 表包含以下列(列类型在括号中显示):

  • database (String) — 数据库名称。
  • table (String) — 表名称。
  • name (String) — 列名称。
  • type (String) — 列类型。
  • position (UInt64) — 表中列的序号,从 1 开始。
  • default_kind (String) — 默认值的表达式类型(DEFAULTMATERIALIZEDALIAS),如果未定义则为空字符串。
  • default_expression (String) — 默认值的表达式,如果未定义则为空字符串。
  • data_compressed_bytes (UInt64) — 压缩数据的大小(以字节为单位)。
  • data_uncompressed_bytes (UInt64) — 解压缩数据的大小(以字节为单位)。
  • marks_bytes (UInt64) — 标记的大小(以字节为单位)。
  • 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 值。

示例