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
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) │ │ │ │ │ │
└──────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘
La segunda consulta también muestra subcolumnas:
┌─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;
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