Partie I
SQL de base
48
© Éditions Eyrolles
q
La condition du WHERE filtre les lignes à mettre à jour dans la table. Si aucune condition
n’est précisée, tous les enregistrements seront actualisés. Si la condition ne filtre aucune
ligne, aucune mise à jour ne sera réalisée.
q
ORDER BY indique l’ordre de modification des colonnes.
q
LIMIT spécifie le nombre maximum d’enregistrements à changer (par ordre de clé
primaire croissante).
Modification d’une colonne
Modifions la compagnie de code 'AN1' en affectant la valeur 50 à la colonne nrue.
UPDATE Compagnie SET nrue = 50 WHERE comp = 'AN1';
Modification de plusieurs colonnes
Modifions la compagnie de code 'AN2' en affectant simultanément la valeur 14 à la colonne
nrue et la valeur par défaut ('Paris') à la colonne ville.
UPDATE Compagnie SET nrue = 14, ville = DEFAULT WHERE comp = 'AN2';
La table Compagnie contient à présent les données suivantes :
Modification de plusieurs enregistrements
Modifions les deux premières compagnies (par ordre de clé primaire, ici 'AC' et 'AF') en affectant la valeur 'Toulouse' à la colonne ville.
UPDATE Compagnie SET ville = 'Toulouse' LIMIT 2;
Ne pas respecter les contraintes
Il faut, comme pour les insertions, respecter les contraintes qui existent au niveau des colonnes. Dans le cas inverse, une erreur est renvoyée (le nom de la contrainte apparaît) et la mise à
jour n’est pas effectuée.
Figure 2-6 Table après les modifications
Compagnie
comp
nrue rue
ville
nomComp
SING
7
Camparols
Singapour
Singapore AL
AF
10
Gambetta
Paris
Air France
AN1
50
Hoche
Blagnac
Air Nul1
AC
8
Champs Elysées
Paris
Castanet Air
AN2
14
Foch
Paris
Air Nul2
Modifications 2
Modification 1
Précédent

- 70/418

Suivant