You need to enable JavaScript to run this app.
导航
DESCRIBE 语句(DESCRIBE)
最近更新时间:2025.08.14 10:17:09首次发布时间:2025.05.07 15:04:15
复制全文
我的收藏
有用
有用
无用
无用

DESCRIBE 语句可用于返回表的列定义。

语法

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

参数说明

参数

是否必填

说明

INTO OUTFILE filename

可选

将结果导出到文件(需绝对路径,如 /data/dict_list.csv)。

FORMAT format

可选

指定返回结果的格式(如 JSONCSV 等)。

输出列说明

列名

说明

示例值

name

列名

user_id

type

列数据类型

Nullable(String)

default_type

列默认表达式中使用的子句:
DEFAULT
MATERIALIZED
ALIAS
如果没有默认表达式,则返回空字符串。

DEFAULT

default_expression

DEFAULT 子句后指定的表达式

toUUID('00000000-0000-0000-0000-000000000000')

comment

列注释文本

用户唯一标识符

codec_expression

应用于该列的数据压缩编码

CODEC(ZSTD(5))

ttl_expression

TTL(生存时间)表达式

created_at + INTERVAL 1 YEAR

is_subcolumn

子列标识
1:内部子列
0:普通列
仅通过 describe_include_subcolumns 设置启用了子列描述时,此标志才包含在结果中。

需启用设置:
SET describe_include_subcolumns=1

示例

-- 1. 创建数据库
CREATE DATABASE IF NOT EXISTS sample_db ON CLUSTER sample_cluster;

--2. 创建表
DROP TABLE IF EXISTS sample_db.describe_table ON CLUSTER sample_cluster;
CREATE TABLE sample_db.describe_table ON CLUSTER sample_cluster (
    id UInt64, 
    text String DEFAULT 'unknown' CODEC(ZSTD),
    user Tuple (name String, age UInt8)
) ENGINE = MergeTree() 
ORDER BY id;

-- 3. 返回表中列的定义
DESCRIBE TABLE sample_db.describe_table;

-- 输出结果示例如下:
┌─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) │               │                     │           │                   │                 │
└────┴───────────────────┴─────────┴────────────┴───────┴───────────┴──────────┘