UPDATE : Commande SQL qui permet de modifier les valeurs existantes dans une ou plusieurs colonnes d'une table.
- Identifier la table à modifier avec UPDATE
- Spécifier les colonnes à modifier avec SET
- Définir les conditions avec WHERE pour cibler les lignes exactes
On utilise UPDATE produits pour spécifier la table à modifier
On utilise SET prix = 29.99 pour indiquer la nouvelle valeur
On utilise WHERE id_produit = 123 pour ne modifier qu'un seul produit
UPDATE produits SET prix = 29.99 WHERE id_produit = 123;
• 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
DELETE : Commande SQL qui supprime des lignes spécifiques d'une table en fonction d'une condition.
On utilise DELETE FROM clients pour spécifier la table source
On utilise WHERE id_client = 456 pour identifier le client spécifique
La commande supprime la ligne correspondant à l'ID spécifié
DELETE FROM clients WHERE id_client = 456;
• 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
Modification multiple : Une requête UPDATE peut modifier plusieurs lignes simultanément en fonction d'une condition.
On utilise UPDATE clients pour spécifier la table à modifier
On utilise SET adresse = 'Nouvelle adresse' pour la nouvelle valeur
On utilise WHERE ville = 'Paris' pour modifier tous les clients de Paris
UPDATE clients SET adresse = 'Nouvelle adresse' WHERE ville = 'Paris';
• 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
Suppression conditionnelle : Utilisation de critères complexes dans la clause WHERE pour cibler des enregistrements spécifiques.
On utilise DELETE FROM commandes pour spécifier la table cible
On utilise WHERE date_commande < '2022-01-01' pour cibler les anciennes commandes
La requête supprime toutes les commandes antérieures au 1er janvier 2022
DELETE FROM commandes WHERE date_commande < '2022-01-01';
• 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
Calcul dynamique : Utilisation de valeurs provenant d'autres colonnes ou expressions pour effectuer des mises à jour.
On utilise UPDATE produits pour spécifier la table à modifier
On utilise stock = stock - 10 pour décrémenter le stock actuel
On utilise WHERE id_produit = 789 pour ne modifier qu'un seul produit
UPDATE produits SET stock = stock - 10 WHERE id_produit = 789;
• 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
- 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
- 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