PostgreSQL - Requête DELETE

Le PostgreSQL DELETELa requête est utilisée pour supprimer les enregistrements existants d'une table. Vous pouvez utiliser la clause WHERE avec la requête DELETE pour supprimer les lignes sélectionnées. Sinon, tous les enregistrements seraient supprimés.

Syntaxe

La syntaxe de base de la requête DELETE avec la clause WHERE est la suivante -

DELETE FROM table_name
WHERE [condition];

Vous pouvez combiner N nombre de conditions à l'aide des opérateurs AND ou OR.

Exemple

Considérez la table COMPANY , ayant des enregistrements comme suit -

# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

Voici un exemple qui supprimerait un client dont l'ID est 7 -

testdb=# DELETE FROM COMPANY WHERE ID = 2;

Désormais, la table COMPANY aura les enregistrements suivants -

id | name  | age | address     | salary
----+-------+-----+-------------+--------
  1 | Paul  |  32 | California  |  20000
  3 | Teddy |  23 | Norway      |  20000
  4 | Mark  |  25 | Rich-Mond   |  65000
  5 | David |  27 | Texas       |  85000
  6 | Kim   |  22 | South-Hall  |  45000
  7 | James |  24 | Houston     |  10000
(6 rows)

Si vous souhaitez SUPPRIMER tous les enregistrements de la table COMPANY, vous n'avez pas besoin d'utiliser la clause WHERE avec les requêtes DELETE, qui seraient les suivantes -

testdb=# DELETE FROM COMPANY;

Désormais, la table COMPANY n'a aucun enregistrement car tous les enregistrements ont été supprimés par l'instruction DELETE.