© Éditions Eyrolles
47
chapitre n° 2
Manipulation des données
Modifications de colonnes
L’instruction UPDATE permet la mise à jour des colonnes d’une table. Pour pouvoir modifier
des enregistrements d’une table, il faut que cette dernière soit dans votre base ou que vous
ayez reçu le privilège UPDATE sur la table.
Syntaxe (UPDATE)
La syntaxe simplifiée de l’instruction UPDATE est la suivante :
UPDATE [LOW_PRIORITY] [IGNORE] [nomBase.] nomTable
SET col_name1=expr1 [, col_name2=expr2 ...]
SET
colonne1 = expression1 | (requête_SELECT) | DEFAULT
[,colonne2 = expression2...]
[WHERE (condition)]
[ORDER BY listeColonnes]
[LIMIT nbreLimite]
q
LOW_PRIORITY indique que la modification est différée à la libération complète de la
table (option à ne pas utiliser sur des tables MyISAM).
q
IGNORE signifie que les éventuelles erreurs déclenchées suite aux modifications seront
considérées en tant que warnings.
q
La clause SET actualise une colonne en lui affectant une expression (valeur, valeur par
défaut, calcul ou résultat d’une requête).
Tableau 2-7 Séquence pour une clé étrangère
Tables
Insertions
CREATE TABLE Affreter
(
,
comp CHAR(4), immat CHAR(6),
dateAff DATE,nbPax SMALLINT(3),
CONSTRAINT pk_Affreter
PRIMARY KEY (numAff));
CREATE TABLE Passager
(
,
nom CHAR(15), siege CHAR(4),
dernierVol SMALLINT,
CONSTRAINT pk_Passager
PRIMARY KEY(numPax),
CONSTRAINT fk_Pax_vol_Affreter
FOREIGN KEY (dernierVol)
REFERENCES Affreter(numAff))
;
INSERT INTO Affreter
(comp,immat,dateAff,nbPax) VALUES
('AF','F-WTSS','2005-05-13',85);
INSERT INTO Affreter
(comp,immat,dateAff,nbPax) VALUES
('SING','F-GAFU','2005-02-05',155);
INSERT INTO Passager VALUES
(NULL,'Payrissat','7A',LAST_INSERT_ID());
INSERT INTO Affreter VALUES
(NULL,'AF','F-WTSS','2005-05-15',82);
INSERT INTO Passager VALUES
(NULL,'Castaings','2E',LAST_INSERT_ID());
Web
numAff SMALLINT AUTO_INCREMENT
numPax SMALLINT AUTO_INCREMENT
AUTO_INCREMENT = 100
47
chapitre n° 2
Manipulation des données
Modifications de colonnes
L’instruction UPDATE permet la mise à jour des colonnes d’une table. Pour pouvoir modifier
des enregistrements d’une table, il faut que cette dernière soit dans votre base ou que vous
ayez reçu le privilège UPDATE sur la table.
Syntaxe (UPDATE)
La syntaxe simplifiée de l’instruction UPDATE est la suivante :
UPDATE [LOW_PRIORITY] [IGNORE] [nomBase.] nomTable
SET col_name1=expr1 [, col_name2=expr2 ...]
SET
colonne1 = expression1 | (requête_SELECT) | DEFAULT
[,colonne2 = expression2...]
[WHERE (condition)]
[ORDER BY listeColonnes]
[LIMIT nbreLimite]
q
LOW_PRIORITY indique que la modification est différée à la libération complète de la
table (option à ne pas utiliser sur des tables MyISAM).
q
IGNORE signifie que les éventuelles erreurs déclenchées suite aux modifications seront
considérées en tant que warnings.
q
La clause SET actualise une colonne en lui affectant une expression (valeur, valeur par
défaut, calcul ou résultat d’une requête).
Tableau 2-7 Séquence pour une clé étrangère
Tables
Insertions
CREATE TABLE Affreter
(
,
comp CHAR(4), immat CHAR(6),
dateAff DATE,nbPax SMALLINT(3),
CONSTRAINT pk_Affreter
PRIMARY KEY (numAff));
CREATE TABLE Passager
(
,
nom CHAR(15), siege CHAR(4),
dernierVol SMALLINT,
CONSTRAINT pk_Passager
PRIMARY KEY(numPax),
CONSTRAINT fk_Pax_vol_Affreter
FOREIGN KEY (dernierVol)
REFERENCES Affreter(numAff))
;
INSERT INTO Affreter
(comp,immat,dateAff,nbPax) VALUES
('AF','F-WTSS','2005-05-13',85);
INSERT INTO Affreter
(comp,immat,dateAff,nbPax) VALUES
('SING','F-GAFU','2005-02-05',155);
INSERT INTO Passager VALUES
(NULL,'Payrissat','7A',LAST_INSERT_ID());
INSERT INTO Affreter VALUES
(NULL,'AF','F-WTSS','2005-05-15',82);
INSERT INTO Passager VALUES
(NULL,'Castaings','2E',LAST_INSERT_ID());
Web
numAff SMALLINT AUTO_INCREMENT
numPax SMALLINT AUTO_INCREMENT
AUTO_INCREMENT = 100
