DELETE

Nom

DELETE -- supprime les lignes d'une table

Synopsis

DELETE FROM [ ONLY ] table [ WHERE condition ]

Description

DELETE supprime les lignes qui satisfont la clause WHERE pour la table spécifiée. Si la clause WHERE est absente, toutes les lignes de la table sont supprimées. Le résultat est une table valide mais vide.

Astuce : TRUNCATE est une extension PostgreSQL fournissant un mécanisme plus rapide pour supprimer toutes les lignes d'une table.

Par défaut, DELETE supprimera les lignes de la table spécifiée et ses sous-tables. Si vous souhaitez supprimer uniquement la table mentionnée, vous devez utiliser la clause ONLY.

Vous devez avoir le droit DELETE sur la table pour lui supprimer des lignes ainsi que le droit SELECT pour toute table dont les valeurs sont lues dans la condition.

Paramètres

table

Le nom d'une table existante (qualifié ou non du nom du schéma).

condition

Une expression de valeur renvoyant une valeur de type boolean déterminant les lignes à supprimer.

Sorties

En cas de succès, une commande DELETE renvoie une information de la forme

DELETE nombre

Le nombre correspond au nombre de lignes supprimées. Si nombre vaut 0, aucune ligne ne correspond à condition (ceci n'est pas considéré comme une erreur).

Exemples

Supprime tous les films à part les films musicaux :

DELETE FROM films WHERE genre <> 'Musique';

Efface la table films :

DELETE FROM films;

Compatibilité

Cette commande est conforme au standard SQL.