SQL DELETE : supprimer une ou plusieurs entrées d’une table
La commande SQL DELETE
est la méthode la plus simple pour supprimer des entrées dans une table. Elle peut être utilisée avec une clause WHERE
pour spécifier les lignes à supprimer. Si la clause WHERE
est omise, toutes les entrées de la table seront supprimées.
Qu’est-ce que SQL DELETE
?
Lorsque l’on travaille avec une table, il arrive souvent qu’une entrée soit obsolète et ne doive donc plus figurer dans votre enregistrement. Si vous souhaitez supprimer une telle entrée, le Structured Query Language (SQL) met à votre disposition l’instruction SQL DELETE
. Avec cette instruction, vous demandez au système de supprimer une ou plusieurs entrées. Pour s’assurer que seules les données souhaitées sont retirées de la table, l’utilisation de la commande WHERE
est très importante. Si vous ne l’utilisez pas, toutes les entrées seront supprimées du tableau. La plus grande prudence est donc de mise !
- Virtualisation complète avec accès root
- Trafic illimité et jusqu'à 1 Gbit/s de bande passante
- Stockage SSD NVMe rapide et édition Plesk Web Host
Syntaxe et fonctionnement
Dans la syntaxe de SQL DELETE
, la spécification est implicite grâce à l’ajout de WHERE
. La commande SQL se forme donc toujours de cette manière :
DELETE FROM Nom_de_la_table
WHERE Condition;
sqlDans la première ligne, vous lancez la commande proprement dite et spécifiez dans quelle table la suppression doit être effectuée. La deuxième ligne est optionnelle. Vous indiquez ici la condition qu’une ligne doit remplir pour être prise en compte pour la suppression. Si vous renoncez à cette option, le système prend en compte toutes les lignes de ce tableau et les supprime.
Supprimer une ou plusieurs entrées
La manière la plus simple d’expliquer le fonctionnement de SQL DELETE
est de prendre un exemple. Pour cela, nous créons une table fictive appelée « Liste de clients ». Celle-ci contient différentes entrées relatives aux clients d’une entreprise et comprend un numéro de client, le nom et l’emplacement. Voici à quoi ressemble ce tableau :
Numéro de client | Nom | Ville |
---|---|---|
1427 | Berron | Paris |
1377 | Froissy | Strasbourg |
1212 | Sulis | Strasbourg |
1431 | Verdon | Toulouse |
1118 | Paré | Compiègne |
Si vous souhaitez maintenant supprimer le client Froissy de votre liste, appliquez l’instruction comme suit :
DELETE FROM Liste de clients
WHERE Numéro de client = 1377;
sqlComme seul le client Froissy a le numéro de client 1377
, la table se présente ensuite ainsi :
Numéro de client | Nom | Ville |
---|---|---|
1427 | Berron | Paris |
1212 | Sulis | Strasbourg |
1431 | Verdon | Toulouse |
1118 | Paré | Compiègne |
Vous auriez aussi pu choisir comme condition sous WHERE
le nom « Froissy » pour obtenir le même résultat.
La suppression de plusieurs clients fonctionne selon un principe similaire. Dans notre exemple, nous pourrions supprimer toutes les entrées avec la ville de Strasbourg. Voici le code approprié :
DELETE FROM Liste de clients
WHERE Ville = 'Strasbourg';
sqlComme deux entrées ont cette valeur, la table se présente alors comme suit :
Numéro de client | Nom | Ville |
---|---|---|
1427 | Berron | Paris |
1431 | Verdon | Toulouse |
1118 | Paré | Compiègne |
Supprimer toutes les entrées d’une table
Si vous omettez la clause WHERE
lors de l’exécution de SQL DELETE
, toutes les entrées de la table seront supprimées, mais la table elle-même ne sera pas supprimée. Elle est toutefois vide après l’exécution de la commande. Pour notre exemple, voici le code nécessaire pour supprimer toutes les entrées :
DELETE FROM Liste de clients;
sqlIl faut donc être prudent avec cette commande.
Supprimer la table complète avec DROP TABLE
Pour supprimer une table entière, il vous faudra utiliser l’instruction DROP TABLE
, dont la syntaxe est la suivante :
DROP TABLE Nom_de_la_table;
sqlPour notre exemple, voilà le code à entrer :
DROP TABLE Liste de clients;
sqlCommandes similaires à SQL DELETE
Une alternative à SQL DELETE
pour supprimer toutes les entrées d’une table est la commande TRUNCATE TABLE
. Cependant, elle ne peut être utilisée que pour supprimer toutes les entrées d’une table, en une seule fois. Elle ne supporte pas la condition WHERE
. Pour créer une nouvelle table, utilisez SQL CREATE TABLE
. Pour éviter d’effacer accidentellement des données de manière irréversible, il est recommandé d’effectuer régulièrement des sauvegardes. Pour cela, utilisez SQL BACKUP DATABASE
.
Profitez de performances de pointe ! Avec le serveur d’hébergement SQL de IONOS, vous avez le choix entre MSSQL, MySQL et MariaDB. Une assistance personnalisée, des vitesses élevées et une architecture de sécurité de premier ordre sont garanties dans tous les cas.