Saltar al contenido principal
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
Query
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;
Response
┌─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:
Response
┌─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;
Response
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
Última modificación el 10 de junio de 2026