R.
MGHIRBI
Plan
1. Introduction ◼ 4.4. Sous–requêtes
2. Définition & Evolution des schémas ◼ 4.5. Requêtes quantifiées
◼ 2.1. Création de tables ◼ 4.6 Requêtes composées
◼ 2.2. Expression des contraintes d’intégrité ◼ 4.7. Fonctions de calculs et agrégats
◼ 2.3. Modification des tables
◼ 2.4. Suppression des tables
3. Les mises à jour
◼ 3.1. Insertion de tuples
◼ 3.2. Modification de tuples
◼ 3.3. Suppression de tuples
4. La recherche de données
◼ 4.1. Expression des projections
◼ 4.2. Expression des sélections
◼ 4.3. Expression des jointures
2
2. LES MISES À JOUR ORDRES LMD
INSERT, UPDATE, DELETE
3
INSERT
Permet d'insérer des données dans une table.
◼ Syntaxe:
INSERT INTO <NOM DE TABLE> [(<NOM DE COLONNE> +)] {VALUES
(<CONSTANTE>+) | <COMMANDE DE RECHERCHE>};
Dans le cas où la liste de colonnes n’est pas spécifiée, tous les attributs de la relation
doivent être fournis dans l’ordre de déclaration.
Si seulement certaines colonnes sont spécifiées, les autres sont insérées avec la valeur nulle.
4
INSERT
Exemple basique :
INSERT INTO PILOTE ( NUMPIL, NOMPIL, ADR, SAL)
VALUES (12345, 'BEN BECHIR',' ARIANA', 5000);
Exemple avec commande de recherche :
INSERT INTO PILOTESERV
SELECT [Link], NOMPIL, NUMVOL
FROM PILOTE P, VOL V
WHERE [Link]=[Link];
La table doit exister avant!!!
Une insertion à partir d’une commande de recherche permet de composer une
relation (ici PiloteSERV) à partir des tuples d’une relation existante (ici Pilote et
vol) , par recherche dans la base.
5
UPDATE
Permet de modifier des données dans une table.
Syntaxe:
UPDATE <NOM DE TABLE>
SET {<NOM DE COLONNE> = {<EXPRESSION DE VALEUR> | NULL}}+
WHERE {<CONDITION DE RECHERCHE> | CURRENT OF <NOM DE CURSEUR>}
◼ Exemple : modifier l’adresse du pilote n°12345 à Tunis
UPDATE Pilote SET adr = " tunis"
WHERE numpil = 12345;
◼ Exemple : diminuer de 10 la capacité de des avions Boeing 747 et dont la localisation= Nice
UPDATE Avion SET cap = cap – 10
WHERE nomav LIKE 'boeing747 '
AND loc LIKE 'Nice';
6
DELETE
Permet de supprimer des données dans une table.
Syntaxe:
DELETE FROM <NOM DE TABLE>
[WHERE {<CONDITION DE RECHERCHE> | CURRENT OF <NOM DE CURSEUR>}]
S'il n'y a pas de clause WHERE, toutes les lignes sont supprimées.
7
DELETE
Exemple : supprimer de la table avion les tuples de capacité nulle (=0).
DELETE FROM Avion
WHERE cap = 0;
Exemple : Supprimer les avions hors service et de capacité nulle (=0)
DELETE FROM Avion
WHERE cap = 0
AND numav NOT IN ( SELECT Distinct numav
FROM Vol);