Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

DESCRIBE TABLE

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, MATERIALIZED ou ALIAS. Se não houver expressão padrão, será retornada uma string vazia.
  • default_expression — Uma expressão especificada após a cláusula DEFAULT.
  • comment — Um comentário da coluna.
  • codec_expression — Um codec aplicado à coluna.
  • ttl_expression — Uma expressão TTL.
  • is_subcolumn — Um indicador igual a 1 para 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

Querysql
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;
Responsetext
┌─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:

Responsetext
┌─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;
Responsetext
1       UInt8

Esse 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

Navigation