PostgreSQL DELETE : supprimer le contenu d’une table
PostgreSQL DELETE
permet de supprimer le contenu d’une table. La commande peut être utilisée avec des conditions pour cibler uniquement certaines lignes à supprimer. La suppression étant irréversible, cette commande doit être utilisée avec précaution.
Qu’est-ce que PostgreSQL DELETE
?
La commande DELETE
est utilisée dans PostgreSQL pour supprimer des entrées d’une table. La condition WHERE
vous permet de sélectionner des lignes spécifiques dont le contenu doit être supprimé. Si la clause WHERE
n’est pas précisée, toutes les lignes de la table seront supprimées de manière irréversible. C’est pourquoi vous ne devez utiliser cette commande qu’avec la plus grande prudence.
Profitez de votre propre serveur, avec hardware dédié, intégration Cloud, facturation à la minute et processeur Intel® Xeon® ou AMD.
PostgreSQL DELETE
: syntaxe et fonctionnement
La syntaxe de PostgreSQL DELETE
a la structure de base suivante :
DELETE FROM nom_de_la_table
WHERE Condition;
postgresqlDELETE FROM
initie la suppression 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 suppression, utilisez les opérateurs AND
ou OR
.
Avant de supprimer des données, vous devriez vous assurer que vous avez bien une sauvegarde récente de la base de données ou que vous exécutez le processus de suppression dans une transaction. De cette façon, vous éviterez de perdre des données importantes si la commande est mal exécutée par inadvertance.
Supprimer tout le contenu d’une table
Le fonctionnement de PostgreSQL DELETE
est plus facile à expliquer avec un exemple pratique. Pour cela, nous utilisons la commande CREATE TABLE
pour créer une nouvelle table PostgreSQL appelée « liste_des_clients ». Nous utilisons ensuite INSERT INTO
pour la remplir avec différents contenus. La table dispose de trois colonnes nommées « ID », « Nom » et « Ville » et reçoit initialement quatre entrées. Voici à quoi elle ressemble :
|ID|Nom|Ville|
|-|-|-|
|1|Berland|Paris|
|2|Wirth|Marseille|
|3|Madiot|Lille|
|4|Bourrat|Dijon|
postgresqlPour vider complètement une table tout en conservant sa structure, utilisez DELETE
sans condition WHERE
. Dans notre exemple, la commande ressemble à ceci :
DELETE FROM liste_des_clients;
postgresqlSupprimer une ligne avec PostgreSQL DELETE
Le plus souvent, vous voudrez supprimer une ligne spécifique plutôt que l’ensemble du contenu de la table. Cela se fait aussi avec PostgreSQL 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;
postgresqlSpécifier des lignes avec plusieurs conditions
Il peut y avoir des doublons et donc des entrées qui ne sont pas uniques, en particulier dans les longues tables. Si vous voulez être sûr de ne supprimer que la ligne souhaitée, vous pouvez utiliser PostgreSQL DELETE
avec plusieurs conditions. 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 conditions. Le code pour cela est :
DELETE FROM liste_des_clients
WHERE Nom = 'Madiot'
AND ID >= 3;
postgresqlAinsi, seules les lignes où le nom est « Madiot » et l’ID est supérieur ou égal à 3 seront supprimé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 suppression.