| Documentation PostgreSQL 7.2 | ||
|---|---|---|
| <<< Previous | Next >>> | |
DELETE FROM [ ONLY ] table [ WHERE condition ] |
DELETE supprime les lignes qui satisfont la clause WHERE, depuis la table spécifiée.
Si la condition (clause WHERE) est absente, l'effet est la suppression de toutes les lignes de la table. Le résultat est une table valide mais vide.
![]() | TRUNCATE est une extension PostgreSQL qui fournit un mécanisme plus rapide pour supprimer toutes les lignes d'une table. |
Par défaut DELETE supprimera les tuples dans la table spécifiée et toutes ses sous-tables. Si vous voulez simplement faire une mise à jour de la table mentionnée, vous devez utiliser la clause ONLY.
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 la condition.
Supprimons 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) |
| <<< Previous | Home | Next >>> |
| DECLARE | Up | DROP AGGREGATE |