テーブルのカラム情報を返します。
構文
DESC|DESCRIBE TABLE [db.]table [INTO OUTFILE filename] [FORMAT format]
DESCRIBE ステートメントは、各テーブルカラムについて、次の String 型の値を含む1行を返します。
name — カラム名。
type — カラムの型。
default_type — カラムのデフォルト式で使用される句。DEFAULT、MATERIALIZED、ALIAS のいずれかです。デフォルト式がない場合は、空文字列が返されます。
default_expression — DEFAULT 句の後に指定される式。
comment — カラムコメント。
codec_expression — カラムに適用される codec。
ttl_expression — 有効期限 (TTL) 式。
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) │ │ │ │ │ │
└──────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
2番目のクエリでは、サブカラムも表示されます。
┌─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 │
└───────────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┴──────────────┘
DESCRIBEステートメントは、サブクエリやスカラー式でも使用できます:
DESCRIBE SELECT 1 FORMAT TSV;
または
DESCRIBE (SELECT 1) FORMAT TSV;
この使用方法では、指定したクエリまたはサブクエリの結果カラムに関するメタデータが返されます。実行前に複雑なクエリの構造を把握するのに役立ちます。
関連項目