Instruction SQL UPDATE

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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7002Disque dur65,00201 300
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7006Stylo7.451074,50
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001Clé USBAccessoires75,0030
7002Disque dur65,00201 300
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7006Stylo7.451074,50
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001Clé USBAccessoires75,00
7002Disque dur65,00201 300
7003Clé USBAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7006Stylo7.451074,50
7007Clé USBAccessoires75,00
7008Clé USBAccessoires75,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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001Clé USBAccessoires75,00
7002Clé USB65,00201 300
7003Clé USBAccessoires36.00331 118,00
7004Clé USBComposants23.5016376,00
7005Clé USBvélos1 200
7006Clé USB7.451074,50
7007Clé USBAccessoires75,00
7008Clé USBAccessoires75,00

TOUS les enregistrements seront mis à jour avec Nom_Produit est ‘Clé USB’. Soyez donc prudent lors de la mise à jour des enregistrements.