Académique Documents
Professionnel Documents
Culture Documents
Le langage SQL
Pr. M. Machkour
Langage de Manipulation des Données
LMD
Objectifs
Étudier les commandes:
– Insert : Alimentation de la base
– Update : Modification des données
– Delete : Suppression des données
FSA : SMI5_LPII_2014 2
Langage de Manipulation des Données
LMD
La commande delete
sert à supprimer les lignes
Syntaxe
Delete
[From] nomTable
[Where condition];
FSA : SMI5_LPII_2014 3
Langage de Manipulation des Données
LMD
La commande delete(exemples)
- Supprimer tous les employés
Delete from emp;
- Supprimer les employés du service 1
Delete from emp where nserv=1;
FSA : SMI5_LPII_2014 4
Langage de Manipulation des Données
LMD
Remarque
La commande truncate…
truncate table nomTable;
FSA : SMI5_LPII_2014 5
Langage de Manipulation des Données
LMD
La commande insert
sert à insérer des lignes
Syntaxes
Insert into nomTableVue[(listecolonnes)]
Values (listeValeursExpressions)
Insert into nomTableVue[(listecolonnes)]
reqSélection
Insert into
(reqSélection )
Values (listeValeursExpressions) -->
FSA : SMI5_LPII_2014 6
Langage de Manipulation des Données
LMD
Insert all
into nomTable(listeColonnes)
Values (listeExpressions)
into nomTable(listeColonnes)
Values (listeExpressions)
reqSélection;
FSA : SMI5_LPII_2014 7
Langage de Manipulation des Données
LMD
Exemples
Insert into emp
Values(1,'ali'…);
Insert into emp(nemp,nom,prénom)
Values(1,'ali','ahmed');
Insert into emp1
Select * from emp;
FSA : SMI5_LPII_2014 8
Langage de Manipulation des Données
LMD
Insert all
into emp1(nom)
Values(nom)
Into emp2(prénom)
Values (prénom)
Select * from emp;
Insert into
(select nemp, nom,sal from emp where nserv=1)
Values(1,'ali',10000); ;
FSA : SMI5_LPII_2014 9
Langage de Manipulation des Données
LMD
La commande update
sert à modifier les valeurs des données
Syntaxes
Update nomTableVue
set col1=Expr1|default|(sélection),
col2=Expr2|default|(sélection)…
[Where condition];
Update nomTableVue
set (listeColonnes)=(sélection)
[Where condition];
FSA : SMI5_LPII_2014 10
Langage de Manipulation des Données
LMD
Update (Exemples)
Augmenter de 10%les salaires de tous les employés.
Update emp
set salaire=salaire*1.1
FSA : SMI5_LPII_2014 11
Langage de Manipulation des Données
LMD
Update (Exemples)
Augmenter les salaires des employés de service 1 de
10%.
Update emp
set salaire=salaire*1.1
where nserv=1;
FSA : SMI5_LPII_2014 12
Langage de Manipulation des Données
LMD
Update (Exemples)
Affecter à chaque empl le salaire max de son service
Update emp e1
set sal=(select max(salaire) from emp e2 where
e1.nserv=e2.serv);
FSA : SMI5_LPII_2014 13
Langage de Manipulation des Données
LMD
Update (Exemples)
Changer le numéro du service 1 par 99 et Affecter à ses
employés la moyenne des salaires de leur service
multiplié par 1.1
update emp
set ( sal , nserv)=
(select avg(sal)*1.1, 99 from emp where nserv =1)
where nserv =1;
FSA : SMI5_LPII_2014 14
Langage de Manipulation des Données
LMD
Utilisation de la clause returning
Cette clause stocke des valeurs issues des
lignes changées dans des variables dites
variables de liaison.
Syntaxe
Update …
returning expr1, expr2… into :var1,:var2…;
var1, var2…sont dites variables de liaison
FSA : SMI5_LPII_2014 15
Langage de Manipulation des Données
LMD
Exemples
Changer le service et le salaire de l'employé
de numéro 10 (augmentation de 10%). Les
nouvelles valeurs seront placées dans des
variables de liaison.
Variable de liaison
Définition d'une variable de liaison:
Var[iable] nomVar type
FSA : SMI5_LPII_2014 16
Langage de Manipulation des Données
LMD
Variable de liaison (exemples)
var var_sal number
var var_nserv number
update emp
set ( sal , nserv)=
(select sal*1.1, 2 from emp where nemp =10)
where nemp =10
returning sal*1.1,nserv into :var_sal, : var_nser;
FSA : SMI5_LPII_2014 17
Langage de Manipulation des Données
LMD
Affichage des variables de liaison
- Pour afficher la valeur de var_sal sous
SQL*PLUS on utilise la syntaxe
print var_sal, var_nserv
ou simplement
print
- Pour afficher toutes les variables => var
- Pour avoir une description d'une variable
var nom_variable
FSA : SMI5_LPII_2014 18
Langage de Manipulation des Données
LMD
FSA : SMI5_LPII_2014 19
Langage de Manipulation des Données
LMD
Exemples
-Delete from emp
Where nemp=1
Returning nom , sal into :vnom,:vsal
FSA : SMI5_LPII_2014 21