Numérique et Sciences Informatiques1ère

Mise à jour et suppression
Exercices corrigés

Maîtrisez la mise à jour et la suppression en bases de données : UPDATE, DELETE, clauses WHERE, gestion des erreurs et bonnes pratiques grâce à ces 5 exercices détaillés.

Concepts & Exercices
UPDATE table SET colonne = valeur WHERE condition
Mise à jour
DELETE FROM table WHERE condition
Suppression
UPDATE
UPDATE table SET col=valeur WHERE condition
Modifie les données existantes
DELETE
DELETE FROM table WHERE condition
Supprime des lignes de la table
WHERE
WHERE colonne = valeur
Filtre les lignes concernées
🔧
Exercice 1
Mettre à jour le prix d'un produit spécifique
Exercice 2
Supprimer un client de la base de données
Exercice 3
Modifier l'adresse de tous les clients d'une ville
Exercice 4
Supprimer les commandes antérieures à une date donnée
Exercice 5
Mettre à jour les stocks en fonction des ventes
Corrigé : Exercices 1 à 3
1 Mise à jour d'un produit
Définition :

UPDATE : Commande SQL qui permet de modifier les valeurs existantes dans une ou plusieurs colonnes d'une table.

Méthode de mise à jour :
  1. Identifier la table à modifier avec UPDATE
  2. Spécifier les colonnes à modifier avec SET
  3. Définir les conditions avec WHERE pour cibler les lignes exactes
Requête
UPDATE produits SET prix = 29.99 WHERE id_produit = 123;
Étape 1 : Identifier la table

On utilise UPDATE produits pour spécifier la table à modifier

Étape 2 : Spécifier la modification

On utilise SET prix = 29.99 pour indiquer la nouvelle valeur

Étape 3 : Cibler la ligne exacte

On utilise WHERE id_produit = 123 pour ne modifier qu'un seul produit

-- Avant : id_produit = 123, prix = 24.99 -- Après : id_produit = 123, prix = 29.99
Réponse finale :

UPDATE produits SET prix = 29.99 WHERE id_produit = 123;

Règles appliquées :

Clause WHERE obligatoire : Sans WHERE, toutes les lignes seraient modifiées

Sécurité : Toujours tester avec SELECT avant d'utiliser UPDATE

Types de données : La nouvelle valeur doit correspondre au type de la colonne

2 Suppression d'un client
Définition :

DELETE : Commande SQL qui supprime des lignes spécifiques d'une table en fonction d'une condition.

Requête
DELETE FROM clients WHERE id_client = 456;
Étape 1 : Identifier la table

On utilise DELETE FROM clients pour spécifier la table source

Étape 2 : Cibler la ligne à supprimer

On utilise WHERE id_client = 456 pour identifier le client spécifique

Étape 3 : Exécuter la suppression

La commande supprime la ligne correspondant à l'ID spécifié

-- Suppression du client avec id_client = 456 -- La ligne disparaît complètement de la table
Réponse finale :

DELETE FROM clients WHERE id_client = 456;

Règles appliquées :

Clause WHERE cruciale : Sans WHERE, toutes les lignes seraient supprimées

Relations : Vérifier les clés étrangères avant suppression

Sauvegarde : Toujours sauvegarder les données avant suppression massive

3 Modification par groupe
Définition :

Modification multiple : Une requête UPDATE peut modifier plusieurs lignes simultanément en fonction d'une condition.

Requête
UPDATE clients SET adresse = 'Nouvelle adresse' WHERE ville = 'Paris';
Étape 1 : Identifier la table

On utilise UPDATE clients pour spécifier la table à modifier

Étape 2 : Spécifier la modification

On utilise SET adresse = 'Nouvelle adresse' pour la nouvelle valeur

Étape 3 : Cibler les lignes concernées

On utilise WHERE ville = 'Paris' pour modifier tous les clients de Paris

-- Modifie l'adresse de tous les clients habitant à Paris -- Plusieurs lignes peuvent être affectées par la même requête
Réponse finale :

UPDATE clients SET adresse = 'Nouvelle adresse' WHERE ville = 'Paris';

Règles appliquées :

Impact multiple : La requête peut affecter plusieurs lignes simultanément

Prévisualisation : Utiliser SELECT pour vérifier les lignes concernées avant UPDATE

Transaction : Envisager une transaction pour annuler si nécessaire

Corrigé : Exercices 4 à 5
4 Suppression par critère temporel
Définition :

Suppression conditionnelle : Utilisation de critères complexes dans la clause WHERE pour cibler des enregistrements spécifiques.

Requête
DELETE FROM commandes WHERE date_commande < '2022-01-01';
Étape 1 : Identifier la table

On utilise DELETE FROM commandes pour spécifier la table cible

Étape 2 : Définir la condition temporelle

On utilise WHERE date_commande < '2022-01-01' pour cibler les anciennes commandes

Étape 3 : Exécuter la suppression

La requête supprime toutes les commandes antérieures au 1er janvier 2022

-- Supprime toutes les commandes antérieures au 2022-01-01 -- Peut affecter de nombreuses lignes selon les dates
Réponse finale :

DELETE FROM commandes WHERE date_commande < '2022-01-01';

Règles appliquées :

Test préalable : Toujours exécuter un SELECT avec la même condition pour vérifier

Données critiques : Faire une sauvegarde avant suppression de grandes quantités

Contraintes : S'assurer qu'il n'y a pas de dépendances avec d'autres tables

5 Mise à jour basée sur une autre colonne
Définition :

Calcul dynamique : Utilisation de valeurs provenant d'autres colonnes ou expressions pour effectuer des mises à jour.

Requête
UPDATE produits SET stock = stock - 10 WHERE id_produit = 789;
Étape 1 : Identifier la table

On utilise UPDATE produits pour spécifier la table à modifier

Étape 2 : Calculer la nouvelle valeur

On utilise stock = stock - 10 pour décrémenter le stock actuel

Étape 3 : Cibler la ligne exacte

On utilise WHERE id_produit = 789 pour ne modifier qu'un seul produit

-- Si le stock était 50, il devient 40 après la mise à jour -- La nouvelle valeur dépend de l'ancienne valeur
Réponse finale :

UPDATE produits SET stock = stock - 10 WHERE id_produit = 789;

Règles appliquées :

Calculs : On peut utiliser des expressions mathématiques dans SET

Validation : Vérifier que les calculs produisent des valeurs valides

Contraintes : S'assurer que la nouvelle valeur respecte les contraintes de la colonne

Cours bien détaillé
UPDATE table SET colonne = valeur WHERE condition
Structure de UPDATE
DELETE FROM table WHERE condition
Structure de DELETE
🎯
UPDATE : Modifie les valeurs existantes dans une table sans créer de nouvelles lignes.
📏
DELETE : Supprime complètement des lignes d'une table, sans possibilité de récupération.
📐
WHERE : Clause essentielle pour cibler les lignes spécifiques à modifier/supprimer.
📝
Transactions : Utiliser BEGIN/COMMIT/ROLLBACK pour annuler les modifications si nécessaire.
💡
Conseil : Toujours tester avec SELECT avant d'exécuter UPDATE ou DELETE
🔍
Attention : Une clause WHERE manquante modifie/supprime toutes les lignes
Astuce : Utiliser des transactions pour annuler les erreurs
📋
Méthode : Faire une sauvegarde avant des opérations massives
Vérification : Vérifier le nombre de lignes affectées après l'opération
Bonnes pratiques :
  • Test préalable : Exécuter un SELECT avec la même clause WHERE
  • Transactions : Utiliser BEGIN/COMMIT/ROLLBACK pour des opérations critiques
  • Sauvegarde : Sauvegarder les données avant des modifications importantes
  • Contraintes : Vérifier les relations avec d'autres tables
Règles importantes :
  • La clause WHERE est essentielle dans UPDATE et DELETE pour éviter de modifier/supprimer toutes les lignes
  • Les opérations de modification sont irréversibles sans sauvegarde ou transaction
  • Les modifications peuvent enfreindre des contraintes de clé étrangère si les relations ne sont pas gérées
  • Le nombre de lignes affectées peut être vérifié après l'exécution de la requête
UPDATE sans WHERE
UPDATE table SET col='valeur' -- TOUTES les lignes changent!
Erreur critique à éviter absolument
DELETE sans WHERE
DELETE FROM table -- TOUTES les lignes sont supprimées!
Opération irréversible à éviter
Transaction
BEGIN; UPDATE...; COMMIT;/ROLLBACK;
Annulation possible des modifications
Mise à jour et suppression Interrogation et manipulation