跳到主要内容

DESCRIBE TABLE

返回有关表列的信息。

语法

DESC|DESCRIBE TABLE [db.]table [INTO OUTFILE filename] [FORMAT format]

DESCRIBE 语句为每个表列返回一行,包含以下 字符串

  • name — 列名。
  • type — 列类型。
  • default_type — 用于列 默认表达式 的子句:DEFAULTMATERIALIZEDALIAS。如果没有默认表达式,则返回空字符串。
  • default_expression — 在 DEFAULT 子句之后指定的表达式。
  • comment列注释
  • codec_expression — 应用于该列的 编解码器
  • ttl_expressionTTL 表达式。
  • is_subcolumn — 一个标志,对于内部子列等于 1。它仅在通过 describe_include_subcolumns 设置启用子列描述时才包含在结果中。

嵌套 数据结构中的所有列都分别描述。每个列的名称都以父列名称和点为前缀。

要显示其他数据类型的内部子列,请使用 describe_include_subcolumns 设置。

示例

查询

CREATE TABLE describe_example (
id UInt64, text String DEFAULT 'unknown' CODEC(ZSTD),
user Tuple (name String, age UInt8)
) ENGINE = MergeTree() ORDER BY id;

DESCRIBE TABLE describe_example;
DESCRIBE TABLE describe_example SETTINGS describe_include_subcolumns=1;

结果

┌─name─┬─type──────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ id │ UInt64 │ │ │ │ │ │
│ text │ String │ DEFAULT │ 'unknown' │ │ ZSTD(1) │ │
│ user │ Tuple(name String, age UInt8) │ │ │ │ │ │
└──────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘

第二个查询还会显示子列

┌─name──────┬─type──────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┬─is_subcolumn─┐
│ id │ UInt64 │ │ │ │ │ │ 0 │
│ text │ String │ DEFAULT │ 'unknown' │ │ ZSTD(1) │ │ 0 │
│ user │ Tuple(name String, age UInt8) │ │ │ │ │ │ 0 │
│ user.name │ String │ │ │ │ │ │ 1 │
│ user.age │ UInt8 │ │ │ │ │ │ 1 │
└───────────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┴──────────────┘

另请参见