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

> Documentation de l’instruction ALTER TABLE ... DELETE

# ALTER TABLE ... DELETE

```sql theme={null}
ALTER TABLE [db.]table [ON CLUSTER cluster] DELETE [IN PARTITION partition_expr1 [, partition_expr2 ...]] WHERE filter_expr
```

Supprime les données correspondant à l’expression de filtrage spécifiée. Cette opération est implémentée sous forme de [mutation](/fr/reference/statements/alter/index#mutations).

<Warning>
  Le préfixe `ALTER TABLE` indique qu’il s’agit d’une opération lourde, contrairement à des requêtes similaires dans les bases de données OLTP. `ALTER TABLE ... DELETE` réécrit chaque partie de données contenant des lignes correspondant à l’expression de filtrage, ce qui génère d’importantes E/S d’écriture. Utilisez-la avec parcimonie, car elle peut affecter les performances de `SELECT`.

  Pour les tables `MergeTree`, envisagez d’utiliser la [requête `DELETE FROM`](/fr/reference/statements/delete), qui effectue une suppression légère et peut être nettement plus rapide. Pour les charges de travail nécessitant des suppressions ou des corrections fréquentes, envisagez d’utiliser [`ReplacingMergeTree`](/fr/concepts/features/operations/update/replacing-merge-tree) ou [`CollapsingMergeTree`](/fr/reference/engines/table-engines/mergetree-family/collapsingmergetree).
</Warning>

Le `filter_expr` doit être de type `UInt8`. La requête supprime les lignes de la table pour lesquelles cette expression prend une valeur non nulle.

Une requête peut contenir plusieurs commandes séparées par des virgules.

La clause `IN PARTITION` limite la mutation aux partitions répertoriées. Sans elle, pour les tables de la famille `ReplicatedMergeTree`, lorsque le paramètre [optimize\_mutations\_with\_partition\_pruning](/fr/reference/settings/session-settings/optimize) est activé (ce qui est le cas par défaut), ClickHouse détecte automatiquement les conditions sur la clé de partition dans `filter_expr` et applique uniquement les mutations aux partitions affectées. Pour les tables `MergeTree` non répliquées, utilisez une clause `IN PARTITION` explicite pour limiter la mutation à des partitions spécifiques.

Le mode de synchronisation du traitement de la requête est défini par le paramètre [mutations\_sync](/fr/reference/settings/session-settings/mutations#mutations_sync). Par défaut, il est asynchrone.

**Voir aussi**

* [Mutations](/fr/reference/statements/alter/index#mutations)
* [Synchronisation des requêtes ALTER](/fr/reference/statements/alter/index#synchronicity-of-alter-queries)
* paramètre [mutations\_sync](/fr/reference/settings/session-settings/mutations#mutations_sync)

## Contenu connexe

* Blog : [Gérer les mises à jour et les suppressions dans ClickHouse](https://clickhouse.com/blog/handling-updates-and-deletes-in-clickhouse)
