Vous êtes sur la page 1sur 12

Année universitaire 2017/2018

LFIG 2

Langage de Manipulation des


Données
LMD

Fahmi Ben Rejab


1
Définition

La manipulation des données dans SQL, permet:

•l’insertion ( INSERT ) des données dans une Base de Données


Relationnelle.

•la mise à jour (UPDATE) des données dans une Base de Données
Relationnelle.

•la suppression (DELETE) des données dans une Base de Données


Relationnelle.

2
1- Insertion des données

• Cas d'un INSERT simple :

INSERT INTO table (colonne1,..., colonneN )


VALUES (valeur1,...,valeurN )

• Cas d'un INSERT avec un ordre SELECT :

INSERT INTO table (colonne1,..., colonneN )


SELECT ...

3
LMD: Insertion des données

Cas d'un INSERT simple :


Exemple1: Département (ND, Nom_D, Lieu_D)
INSERT INTO Département
VALUES (2, 'INFORMATIQUE', 'TUNIS') ;

INSERT INTO Département (ND, Nom_D, Lieu_D)


VALUES (2, 'INFORMATIQUE', 'TUNIS') ;

INSERT INTO Département (ND, Lieu_D, Nom_D)


VALUES (3, 'BEN AROUS', 'RESSOURCES HUMAINES') ;

Exemple2: Etudiant (Num_Etud, Nom_E, Prénom_E ,adresse)


INSERT INTO ETUDIANT
VALUES (30, 'Nabli', 'Emna’ , Null) ;

INSERT INTO ETUDIANT(Num_Etud, Prénom_E, Nom_E)


VALUES (26, 'Asma', 'Laamari') ;
4
LMD: Insertion des données

• Cas d'un INSERT avec un ordre SELECT.


Exemple : Modèle relationnel :
Employé(NCIN, NomE, #Dépt)
Projet(NP, Nom_P, Date_Lancement, Budget_P)
Participation(#N_Projet, #N_Employé)

Travail demandé : Ajouter les tuples permettant d'affecter tous les employés
du département Numéro 2 (informatique) au projet numéro 4 (numérisation de
l'archive).

INSERT INTO Participation


(N_Projet, N_Employé)
SELECT 4, NCIN
FROM Employé
WHERE Dept= 2 ;
5
LMD: Insertion des données

L’insertion consiste à ajouter de nouvelles lignes dans une table.

-Les éléments ajoutés doivent avoir les MÊMES TYPES DE DONNÉES, pour respecter la
contrainte d'intégrité de domaine qui implique qu'un attribut prend, pour chaque
tuplet, une valeur dans le domaine sur lequel il a été défini.

-Les éléments ajoutés doivent respecter la contrainte d'intégrité d'entité, et


notamment le fait que la clé primaire doit être unique dans la table.

-Les éléments ajoutés doivent respecter la contrainte d'intégrité référentielle, si la


table concernée contient une clé étrangère, la valeur doit exister au préalable dans la
table à laquelle cette clé étrangère fait référence (table mère).
6

6
LMD: Insertion des données

LMD: Insertion des données


N.B : Il est possible de ne pas remplir certains des champs.
On indiquera la valeur NULL pour les champs que l'on ne veut pas
remplir.
 Ceci ce n'est possible que si l'attribut concerné par Null n'est pas
obligatoire.

7
2- Modification des données

UPDATE table
SET colonne1 = exp1 , colonn2 = exp2, ...
WHERE prédicat

UPDATE table
SET ( colonne1, colonne2,... ) = ( SELECT ... )
WHERE prédicat

NB : il n’est pas possible de mettre à jour plus qu'une table à la fois

8
2- Modification des données

Exemple1: Employé(NCIN, NomE,salaire, #Dept)


Travail demandé : Mettre à jour la BD et affecter tous les employés ayant le nom
'HAMMAMI‘ au département 10.

UPDATE Employé
SET Dept = 10
/*Ici toute la chaîne de caractère est en
WHERE NomE = ‘HAMMAMI' ; majuscule*/
9
2- Modification des données

Exemple2: Employé(NCIN, NomE,salaire, #Dept)


Travail demandé : Mettre à jour la BD et majorer de 10% les salaires de tous les
employés ayant le nom 'HAMMAMI'.

UPDATE Employé /* Un oubli de la clause WHERE engendre la


majoration des salaires de tous les employés*/
SET salaire = salaire * 1,1
WHERE NomE = ‘HAMMAMI' ;
10
2- Modification des données

Exemple3 : Etudiant(Numéro, NomE, PrénomE, DN, Adresse)


Travail demandé : Corriger le prénom de l’étudiant Numéro 36 « MOHAMED
AMINE» au lieu de « Mohamed Amine »

UPDATE Etudiant
SET PrénomE = 'MOHAMED AMINE'
WHERE Numéro=36 ;
Ou bien
UPDATE Etudiant
SET PrénomE = UPPER (PrénomE)
WHERE Numéro=36 ;

→ Si nous n'avons pas ajouté la clause WHERE alors tous les étudiants vont avoir
le même prénom «MOHAMMED AMINE».
11
3- Suppression des données

La suppression de données consiste à supprimer une ou plusieurs


lignes d’une table.

Exemple1: Employé(NCIN, NomE, salaire, #Dépt)

Travail demandé : supprimer les employés qui ont un salaire supérieur à 25,000DT.

/*La condition permet de restreindre les


lignes de la table à supprimer.
DELETE FROM Employé si la clause WHERE est absente, toutes les
WHERE salaire > 25000 ; lignes seront supprimées.*/

12

Vous aimerez peut-être aussi