L’instruction UPDATE met à jour les valeurs des colonnes spécifiées dans les lignes d’une table.
Il permet de modifier les enregistrements existants dans une table.
UPDATE nom_table
SET colonne1 = valeur1, colonne2 = valeur2, ...
WHERE condition ;
Soyez prudent lorsque vous mettez à jour un enregistrement dans une table. Avez-vous remarqué la clause WHERE dans l’instruction UPDATE ? La clause WHERE spécifie les enregistrements qui doivent être mis à jour. Si vous omettez la clause WHERE, tous les enregistrements de la table seront mis à jour.
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Produit” de la base de données DB2.
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | Stylo | 7.45 | 10 | 74,50 | |
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,00 |
Exemple 1 : Mise à jour d’une seule ligne
L’instruction SQL suivante met à jour le premier ID_Produit (ID_Produit = 7001) avec un nouveau Nom_Produit et Stock.
UPDATE Produit
SET Nom_Produit = 'Clé USB', Stock = 30
WHERE ID_Produit = 7001;
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Clé USB | Accessoires | 75,00 | 30 | |
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | Stylo | 7.45 | 10 | 74,50 | |
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,00 |
Exemple 2 : mise à jour de plusieurs lignes
L’instruction SQL suivante mettra à jour Nom_Produit en ‘Clé USB’ pour tous les enregistrements où Categorie est ‘Accessoires’.
UPDATE Produit
SET Nom_Produit = 'Clé USB'
WHERE Categorie = 'Accessories';
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Clé USB | Accessoires | 75,00 | ||
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7003 | Clé USB | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | Stylo | 7.45 | 10 | 74,50 | |
7007 | Clé USB | Accessoires | 75,00 | ||
7008 | Clé USB | Accessoires | 75,00 |
Des astuces:
Si vous omettez la clause WHERE, TOUS les enregistrements seront mis à jour. voyons un exemple ci-dessous,
La requête SQL ci-dessous est identique à l’exemple 2, mais nous avons omis la clause WHERE.
UPDATE Produit
SET Nom_Produit = 'Clé USB'
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Clé USB | Accessoires | 75,00 | ||
7002 | Clé USB | 65,00 | 20 | 1 300 | |
7003 | Clé USB | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | Clé USB | Composants | 23.50 | 16 | 376,00 |
7005 | Clé USB | vélos | 1 200 | ||
7006 | Clé USB | 7.45 | 10 | 74,50 | |
7007 | Clé USB | Accessoires | 75,00 | ||
7008 | Clé USB | Accessoires | 75,00 |
TOUS les enregistrements seront mis à jour avec Nom_Produit est ‘Clé USB’. Soyez donc prudent lors de la mise à jour des enregistrements.