Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

DESCRIBE TABLE

Devuelve información sobre las columnas de la tabla.

Sintaxis

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

La sentencia DESCRIBE devuelve una fila por cada columna de la tabla con los siguientes valores de tipo String:

  • name — El nombre de la columna.
  • type — El tipo de la columna.
  • default_type — Una cláusula utilizada en la expresión predeterminada de la columna: DEFAULT, MATERIALIZED o ALIAS. Si no hay ninguna expresión predeterminada, se devuelve una cadena vacía.
  • default_expression — Una expresión especificada después de la cláusula DEFAULT.
  • comment — Un comentario de columna.
  • codec_expression — Un codec aplicado a la columna.
  • ttl_expression — Una expresión TTL.
  • is_subcolumn — Un indicador cuyo valor es 1 para las subcolumnas internas. Solo se incluye en el resultado si la descripción de subcolumnas está habilitada mediante la configuración describe_include_subcolumns.

Todas las columnas de las estructuras de datos Nested se describen por separado. El nombre de cada columna lleva como prefijo el nombre de la columna padre y un punto.

Para mostrar las subcolumnas internas de otros tipos de datos, use la configuración describe_include_subcolumns.

Ejemplo

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) │              │                    │         │                  │                │
└──────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘

La segunda consulta también muestra subcolumnas:

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 │
└───────────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┴──────────────┘

La sentencia DESCRIBE también puede usarse con subconsultas o expresiones escalares:

DESCRIBE SELECT 1 FORMAT TSV;

o

DESCRIBE (SELECT 1) FORMAT TSV;
Responsetext
1       UInt8

Este uso devuelve metadatos sobre las columnas de resultados de la consulta o subconsulta especificada. Es útil para comprender la estructura de consultas complejas antes de ejecutarlas.

Véase también

Navigation