Retorna informações sobre as colunas da tabela.
Sintaxe
DESC|DESCRIBE TABLE [db.]table [INTO OUTFILE filename] [FORMAT format]A instrução DESCRIBE retorna uma linha para cada coluna da tabela com os seguintes valores String:
name— O nome da coluna.type— O tipo da coluna.default_type— Uma cláusula usada na expressão padrão da coluna:DEFAULT,MATERIALIZEDouALIAS. Se não houver expressão padrão, será retornada uma string vazia.default_expression— Uma expressão especificada após a cláusulaDEFAULT.comment— Um comentário da coluna.codec_expression— Um codec aplicado à coluna.ttl_expression— Uma expressão TTL.is_subcolumn— Um indicador igual a1para subcolunas internas. Ele é incluído no resultado apenas se a descrição de subcolunas estiver habilitada pela configuração describe_include_subcolumns.
Todas as colunas em estruturas de dados Nested são descritas separadamente. O nome de cada coluna recebe o prefixo do nome da coluna pai e um ponto.
Para mostrar subcolunas internas de outros tipos de dados, use a configuração describe_include_subcolumns.
Exemplo
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) │ │ │ │ │ │
└──────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘A segunda consulta também exibe subcolunas:
┌─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 │
└───────────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┴──────────────┘A instrução DESCRIBE também pode ser usada com subconsultas ou expressões escalares:
DESCRIBE SELECT 1 FORMAT TSV;ou
DESCRIBE (SELECT 1) FORMAT TSV;1 UInt8Esse uso retorna metadados sobre as colunas de resultado da consulta ou subconsulta especificada. É útil para entender a estrutura de consultas complexas antes da execução.
Veja também
- a configuração describe_include_subcolumns.