> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation sur DESCRIBE TABLE

# DESCRIBE TABLE

Renvoie des informations sur les colonnes d’une table.

**Syntaxe**

```sql theme={null}
DESC|DESCRIBE TABLE [db.]table [INTO OUTFILE filename] [FORMAT format]
```

L'instruction `DESCRIBE` renvoie une ligne pour chaque colonne de la table, avec les valeurs [String](/fr/reference/data-types/string) suivantes :

* `name` — Un nom de colonne.
* `type` — Un type de colonne.
* `default_type` — Une clause utilisée dans l'[expression par défaut](/fr/reference/statements/create/table) de la colonne : `DEFAULT`, `MATERIALIZED` ou `ALIAS`. S'il n'y a pas d'expression par défaut, une chaîne vide est renvoyée.
* `default_expression` — Une expression spécifiée après la clause `DEFAULT`.
* `comment` — Un [commentaire de colonne](/fr/reference/statements/alter/column#comment-column).
* `codec_expression` — Un [codec](/fr/reference/statements/create/table#column_compression_codec) appliqué à la colonne.
* `ttl_expression` — Une expression [TTL](/fr/reference/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-ttl).
* `is_subcolumn` — Un indicateur égal à `1` pour les sous-colonnes internes. Il n'est inclus dans le résultat que si la description des sous-colonnes est activée par le paramètre [describe\_include\_subcolumns](/fr/reference/settings/session-settings#describe_include_subcolumns).

Toutes les colonnes des structures de données [Nested](/fr/reference/data-types/nested-data-structures/index) sont décrites séparément. Le nom de chaque colonne est préfixé par le nom de la colonne parente, suivi d'un point.

Pour afficher les sous-colonnes internes d'autres types de données, utilisez le paramètre [describe\_include\_subcolumns](/fr/reference/settings/session-settings#describe_include_subcolumns).

**Exemple**

```sql title="Query" theme={null}
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;
```

```text title="Response" theme={null}
┌─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 deuxième requête affiche également des sous-colonnes :

```text title="Response" theme={null}
┌─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 │
└───────────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┴──────────────┘
```

L’instruction DESCRIBE peut également être utilisée avec des sous-requêtes ou des expressions scalaires :

```SQL theme={null}
DESCRIBE SELECT 1 FORMAT TSV;
```

ou

```SQL theme={null}
DESCRIBE (SELECT 1) FORMAT TSV;
```

```text title="Response" theme={null}
1       UInt8
```

Cette utilisation permet de renvoyer des métadonnées sur les colonnes de résultat de la requête ou de la sous-requête spécifiée. Elle est utile pour comprendre la structure de requêtes complexes avant leur exécution.

**Voir aussi**

* paramètre [describe\_include\_subcolumns](/fr/reference/settings/session-settings#describe_include_subcolumns).
