Post­greSQL DELETE permet de supprimer le contenu d’une table. La commande peut être utilisée avec des con­di­tions pour cibler uni­que­ment certaines lignes à supprimer. La sup­pres­sion étant ir­ré­ver­sible, cette commande doit être utilisée avec pré­cau­tion.

Qu’est-ce que Post­greSQL DELETE ?

La commande DELETE est utilisée dans Post­greSQL pour supprimer des entrées d’une table. La condition WHERE vous permet de sé­lec­tion­ner des lignes spé­ci­fiques dont le contenu doit être supprimé. Si la clause WHERE n’est pas précisée, toutes les lignes de la table seront sup­pri­mées de manière ir­ré­ver­sible. C’est pourquoi vous ne devez utiliser cette commande qu’avec la plus grande prudence.

Serveurs dédiés
Per­for­mance et in­no­va­tion
  • Pro­ces­seurs dernière gé­né­ra­tion
  • Hardware dédié haute per­for­mance
  • Data centers certifiés ISO

Post­greSQL DELETE : syntaxe et fonc­tion­ne­ment

La syntaxe de Post­greSQL DELETE a la structure de base suivante :

DELETE FROM nom_de_la_table
WHERE Condition;
post­gresql

DELETE FROM initie la sup­pres­sion dans la table spécifiée. La condition WHERE vous permet de spécifier dans quelles lignes le contenu doit être supprimé. Pour appliquer plusieurs critères de sup­pres­sion, utilisez les opé­ra­teurs AND ou OR.

Note

Avant de supprimer des données, vous devriez vous assurer que vous avez bien une sau­ve­garde récente de la base de données ou que vous exécutez le processus de sup­pres­sion dans une tran­sac­tion. De cette façon, vous éviterez de perdre des données im­por­tantes si la commande est mal exécutée par inad­ver­tance.

Supprimer tout le contenu d’une table

Le fonc­tion­ne­ment de Post­greSQL DELETE est plus facile à expliquer avec un exemple pratique. Pour cela, nous utilisons la commande CREATE TABLE pour créer une nouvelle table Post­greSQL appelée « liste_des_clients ». Nous utilisons ensuite INSERT INTO pour la remplir avec dif­fé­rents contenus. La table dispose de trois colonnes nommées « ID », « Nom » et « Ville » et reçoit ini­tia­le­ment quatre entrées. Voici à quoi elle ressemble :

|ID|Nom|Ville|
|-|-|-|
|1|Berland|Paris|
|2|Wirth|Marseille|
|3|Madiot|Lille|
|4|Bourrat|Dijon|
post­gresql

Pour vider com­plè­te­ment une table tout en con­ser­vant sa structure, utilisez DELETE sans condition WHERE. Dans notre exemple, la commande ressemble à ceci :

DELETE FROM liste_des_clients;
post­gresql

Supprimer une ligne avec Post­greSQL DELETE

Le plus souvent, vous voudrez supprimer une ligne spé­ci­fique plutôt que l’ensemble du contenu de la table. Cela se fait aussi avec Post­greSQL DELETE. Pour cela, nous utilisons la commande avec une clause WHERE. Dans notre exemple, nous voulons supprimer le client « Wirth » avec l’ID « 2 ». Le code approprié est le suivant :

DELETE FROM liste_des_clients
WHERE ID = 2;
post­gresql

Spécifier des lignes avec plusieurs con­di­tions

Il peut y avoir des doublons et donc des entrées qui ne sont pas uniques, en par­ti­cu­lier dans les longues tables. Si vous voulez être sûr de ne supprimer que la ligne souhaitée, vous pouvez utiliser Post­greSQL DELETE avec plusieurs con­di­tions. Dans notre exemple, nous avons deux clients nommés « Madiot » et nous voulons seulement supprimer la deuxième entrée. Nous allons donc combiner deux con­di­tions. Le code pour cela est :

DELETE FROM liste_des_clients 
WHERE Nom = 'Madiot'
AND ID >= 3;
post­gresql

Ainsi, seules les lignes où le nom est « Madiot » et l’ID est supérieur ou égal à 3 seront sup­pri­mées. Comme la première entrée avec le nom a un numéro d’ID inférieur à « 3 », cette entrée reste dans la base de données même après la commande de sup­pres­sion.

Aller au menu principal