Возвращает сведения о столбцах таблицы.
Синтаксис
DESC|DESCRIBE TABLE [db.]table [INTO OUTFILE filename] [FORMAT format]Оператор DESCRIBE возвращает по одной строке для каждого столбца таблицы со следующими значениями типа String:
name— имя столбца.type— тип столбца.default_type— конструкция, используемая в выражении столбца по умолчанию:DEFAULT,MATERIALIZEDилиALIAS. Если выражение по умолчанию отсутствует, возвращается пустая строка.default_expression— выражение, указанное после конструкцииDEFAULT.comment— комментарий столбца.codec_expression— кодек, применяемый к столбцу.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) │ │ │ │ │ │
└──────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘Второй запрос также показывает подстолбцы:
┌─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;1 UInt8В этом случае возвращаются метаданные о столбцах результата указанного запроса или подзапроса. Это полезно для понимания структуры сложных запросов до их выполнения.
См. также
- настройка describe_include_subcolumns.