> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation sur les fonctions de table

# Fonctions de table

Les fonctions de table permettent de construire des tables.

<div id="usage">
  ## Utilisation
</div>

Les fonctions de table peuvent être utilisées dans la clause [`FROM`](/docs/fr/reference/statements/select/from)
d’une requête `SELECT`. Par exemple, vous pouvez `SELECT` des données depuis un fichier situé sur votre machine locale
à l’aide de la fonction de table `file`.

```bash title="Query" theme={null}
echo "1, 2, 3" > example.csv
```

```text title="Response" theme={null}
./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│  1 │  2 │  3 │
└────┴────┴────┘
```

Vous pouvez également utiliser des fonctions de table pour créer une table temporaire accessible
uniquement pendant la requête en cours. Par exemple :

```sql title="Query" theme={null}
SELECT * FROM generateSeries(1,5);
```

```response title="Response" theme={null}
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
```

La table est supprimée lorsque la requête se termine.

Les fonctions de table peuvent servir à créer des tables, selon la syntaxe suivante :

```sql title="Query" theme={null}
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()
```

Par exemple :

```sql title="Query" theme={null}
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;
```

```response title="Response" theme={null}
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
```

Enfin, les fonctions de table peuvent être utilisées pour `INSERT` des données dans une table. Par exemple,
nous pourrions écrire le contenu de la table que nous avons créée dans l’exemple précédent
dans un fichier sur disque en utilisant à nouveau la fonction de table `file` :

```sql title="Query" theme={null}
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;
```

```bash title="Query" theme={null}
cat numbers.csv
1
2
3
4
5
```

<Note>
  Vous ne pouvez pas utiliser de fonctions de table si le paramètre [allow\_ddl](/docs/fr/reference/settings/session-settings#allow_ddl) est désactivé.
</Note>
