SQL ET POSTGRE 4.19 : Suppression de données d'une table
Cette leçon vous montre comment supprimer des données d'une table PostgreSQL. La requête se construit autour de trois éléments : le mot-clé DELETE FROM, le nom de la table, et une clause WHERE qui filtre les lignes à effacer. La syntaxe générale est DELETE FROM <table> WHERE <colonne> = <valeur>;.
Trois cas typiques de suppression
Pour supprimer une ligne précise, on s'appuie sur la clé primaire. Pour effacer Vanessa Dupont (exemple_id = 1) :
DELETE FROM exemple WHERE exemple_id = 1;
Un SELECT * FROM exemple confirme que la ligne a bien disparu. Pour supprimer plusieurs lignes partageant une valeur commune (par exemple Mike et John, tous deux canadiens) :
DELETE FROM exemple WHERE nationalite = 'CA';
Enfin, pour vider entièrement la table de toutes ses données sans supprimer la table elle-même, on omet la clause WHERE :
DELETE FROM exemple;
À retenir : DELETE FROM <table> suivi d'un filtre WHERE pour cibler. Pour une seule ligne, utilisez la clé primaire (toujours unique). Pour plusieurs lignes, utilisez une valeur commune. Sans WHERE, toutes les lignes sont effacées — utilisez avec extrême précaution. La structure de la table reste intact ; seules les données sont effacées. Prochaine étape : insérer toutes les données du cours dans notre base films.
En résumé
Cette leçon couvre la syntaxe DELETE en SQL et PostgreSQL pour supprimer des données d'une table. Elle présente trois cas d'usage : la suppression d'une ligne spécifique avec WHERE et une colonne clé, la suppression de plusieurs lignes partageant une valeur commune, et le vidage complet de la table. Des exemples concrets illustrent chaque situation avec vérification par SELECT.
Points clés
- Syntaxe de base : DELETE FROM [table] WHERE [colonne] = [valeur]
- Suppression d'une ligne : utiliser la colonne ID avec la valeur exacte pour cibler une entrée spécifique
- Suppression multiple : identifier une valeur commune entre plusieurs lignes (ex: nationalité) pour les supprimer en une requête
- Vidage complet : DELETE FROM [table] sans condition WHERE supprime tous les enregistrements
- Vérification : toujours vérifier le résultat avec SELECT pour s'assurer que les données ont bien été supprimées
Questions fréquentes
Quel est le risque principal lors d'une suppression en SQL ?
Oublier la clause WHERE entraîne la suppression de TOUTES les données de la table. Toujours vérifier sa requête avant exécution et prévoir une sauvegarde si nécessaire.
Comment supprimer plusieurs lignes partageant une caractéristique commune ?
Utiliser DELETE FROM [table] WHERE [colonne] = [valeur_commune]. Par exemple, DELETE FROM exemple WHERE nationalité = 'CA' supprime tous les enregistrements avec cette nationalité.
Comment vérifier qu'une suppression a fonctionné correctement ?
Exécuter une requête SELECT * FROM [table] immédiatement après. Les lignes supprimées ne doivent plus apparaître.