DELETE

Nom

DELETE — supprime des lignes d'une table.
DELETE FROM table [ WHERE condition ]
  

Entrées

table

nom d'une table existante.

condition

c'est une requête sélection SQL qui retourne les lignes qui ont été supprimées.

Voir SELECT pour plus d'information sur la clause WHERE.

Sorties

DELETE count

message retourné si les écritures ont été supprimées. count est le nombre de lignes supprimés.

Si count est à 0, aucune ligne n'a été supprimée.

Description

DELETE supprime les lignes qui satisfont la clause WHERE, depuis la table spécifiée.

Si condition est absent, l'effet est la suppression de toutes les lignes de la table. Le résultat est une table valide mais vide.

Vous devez avoir accés en écriture à la table pour la modifier, aussi bien qu'accés en lecture sur toutes les tables dont les valeurs sont lues dans condition.

Utilisation

Effaçons tous les films musicaux :
DELETE FROM films WHERE kind <> 'Musical';
SELECT * FROM films;

code |title                    |did| date_prod|kind      |len
-----+-------------------------+---+----------+----------+------
UA501|West Side Story          |105|1961-01-03|Musical   | 02:32
TC901|The King and I           |109|1956-08-11|Musical   | 02:13
WD101|Bed Knobs and Broomsticks|111|          |Musical   | 01:57
(3 rows)
   

Nettoyons la table films:
DELETE FROM films;
SELECT * FROM films;

code|title|did|date_prod|kind|len
----+-----+---+---------+----+---
(0 rows)
   

Compatibilité

SQL92

SQL92 fournit une commande DELETE positionnée :
DELETE FROM table WHERE
    CURRENT OF cursor
    
cursor identifie un curseur ouvert. Les curseurs interactifs de Postgres sont en lecture seule.