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

DESCRIBE TABLE

返回关于表列的信息。

语法

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

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

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

Nested 数据结构中的所有列都单独描述。每个列的名称都以父列名称和一个点作为前缀。

要显示其他数据类型的内部子列,请使用 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 │
└───────────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┴──────────────┘

另请参阅