La commande UPDATE permet de mettre à jour des données existantes au sein d'une table.
UPDATE Nom_Table
SET Col_1 = Nouv_Val_1[, Col_2 = Nouv_Val_2[, ..., Col_N = Nouv_Val_N]]
[WHERE Condition]
UPDATE personnes
SET nom = 'DUPONT', adresse = '12b rue du Commerce'
WHERE nom = 'DUPOND' AND prenom = 'Albert'
|
La commande UPDATE peut mettre à jour les données de manières différentes :
- La valeur d'une seule colonne en ne citant qu'une colonne associéé à sa nouvelle valeur.
- Plusieurs colonnes simultanément en citant plusieurs colonnes avec leur valeur respective.
- Par l'intermédiaire d'une clause conditionnelle affectant quelques lignes de données, les valeurs de plusieurs enregistrements en même temps.
Une opération de mise à jour peut être effectuée sur un jeu d'enregistrements en utilisant une sous-requête de sélection.
UPDATE nom_table1 AS tab1
SET tab1.nom_champ = valeur
WHERE tab1.nom_champ opérateur (SELECT tab2.nom_champ
FROM nom_table2 AS tab2
WHERE Condition)
UPDATE produits AS p
SET p.prix = p.prix + (p.prix * 5 / 100)
WHERE p.marque IN (SELECT fournisseur
FROM fournisseurs
WHERE decision = 'hausse')
Exemple
UPDATE Fiche_Personne
SET CP = 75012
WHERE Nom = "JANVIER" AND Prenom = "Denis"
Met à jour la valeur CP sur une seule colonne |
Fiche_Personne |
id |
Nom |
Prenom |
CP |
187 |
JANVIER |
Denis |
75012 |
1097 |
NAPOLI |
Victor |
75020 |
10852 |
ARCHI |
Bertrand |
93330 |
20140 |
MULLER |
Arthur |
75020 |
1654327 |
NAPOLI |
Julien |
75020 |
7503609 |
ANATOLIS |
Ivan |
92100 |
UPDATE Fiche_Personne
SET CP = 95200
WHERE Nom = "NAPOLI"
Met à jour la valeur CP sur deux enregistrements |
Fiche_Personne |
id |
Nom |
Prenom |
CP |
187 |
JANVIER |
Denis |
75012 |
1097 |
NAPOLI |
Victor |
95200 |
10852 |
ARCHI |
Bertrand |
93330 |
20140 |
MULLER |
Arthur |
75020 |
1654327 |
NAPOLI |
Julien |
95200 |
7503609 |
ANATOLIS |
Ivan |
92100 |