SQL ET POSTGRE 4.22 : Solution manipulation des données
Bravo à ceux qui ont réussi le challenge ! Cette vidéo vous accompagne étape par étape dans la résolution. On travaille sur la base conducteur_voiture, et on commence par une petite astuce facultative : forcer le format de date à l'européen (jour/mois/année) avec SET datestyle = 'SQL, European';.
Les quatre missions résolues
Mission 1 — insertion des conducteurs. On utilise une seule requête INSERT INTO conducteur (nom, prenom, departement, date_permis, email) VALUES (...), (...), ...; en séparant chaque conducteur par une virgule. Chaque chaîne de caractères est entre apostrophes, les dates aussi, et le département (entier) sans guillemets. Vérification avec SELECT * FROM conducteur : les 7 conducteurs sont bien insérés et les id ont été incrémentés automatiquement.
Mission 2 — insertion des voitures. Même principe avec INSERT INTO voiture (marque, modele, annee, conducteur_id) VALUES ... en n'oubliant pas la clé étrangère qui relie chaque voiture à un conducteur existant. Les 6 voitures s'ajoutent à la table après exécution.
Mission 3 — modification de l'année. Pour passer la Ford Mustang à 2010 :
UPDATE voiture SET annee = 2010 WHERE id = 4;
Mission 4 — suppression de Rémi Oberty.
DELETE FROM conducteur WHERE nom = 'Oberty';
Une vérification finale avec SELECT * FROM conducteur confirme la disparition de Rémi de la liste. Bravo à tous !
En résumé
Cette vidéo présente la solution pas à pas à un challenge SQL PostgreSQL. Elle couvre quatre tâches : configuration du format de date français, insertion de sept conducteurs dans la table dédiée avec leurs informations (nom, prénom, département, date de permis, email), insertion de six voitures avec leurs relations aux conducteurs via l'ID, puis modification et suppression de données (changement de l'année d'une Ford Mustang et suppression d'un conducteur).
Points clés
- Configuration du format de date française avec SET DateStyle = 'sql, european'
- Insertion de données multiples avec INSERT INTO en énumérant les champs et en séparant chaque enregistrement par une virgule
- Les identifiants (ID) sont générés automatiquement et ne doivent pas être spécifiés dans l'insertion
- Modification de données spécifiques avec UPDATE ... SET ... WHERE pour cibler une ligne précise
- Suppression de données avec DELETE FROM WHERE pour retirer un enregistrement
- Vérification de chaque opération avec un SELECT FROM pour confirmer que les modifications ont bien été appliquées
Questions fréquentes
Comment insérer plusieurs enregistrements à la fois dans une table PostgreSQL ?
Utilisez INSERT INTO avec les champs entre parenthèses, puis listez les VALUES en séparant chaque enregistrement par une virgule. Chaque chaîne de caractères doit être entourée de guillemets simples ou doubles, tandis que les nombres entiers n'ont pas besoin de guillemets.
Pourquoi ne pas spécifier la colonne ID lors d'une insertion ?
L'ID est une colonne auto-incrémentée qui se remplit automatiquement avec des valeurs uniques. Il ne doit jamais être fourni manuellement lors d'une insertion, sauf cas très spécifique.
Comment mettre à jour une ligne spécifique sans modifier toutes les autres ?
Utilisez l'instruction UPDATE TABLE SET colonne=valeur WHERE condition. Par exemple, WHERE id = 4 pour cibler uniquement la ligne avec l'ID 4.