Vous êtes sur la page 1sur 9

Bases de données

SQL - Modifications

EL Moukhtar ZEMMOURI
ENSAM – Meknès
Version – 2023 / 2024

E. Zemmouri, ENSAM - Meknès 2


Table EMP
Introduction
enum enom prof sal dnum Table DEP
100 ALI Manager 1000 20 dnum dnom ville dir

101 HASSAN Ingénieur 1200 10 10 Production Meknes 101

102 AMAL Ingénieur 1000 10 20 Ventes Casa 100

103 AMINA Technicien 1100 20


104 AMINE Technicien 900 10

• Ajouter un nouveau employé? Un nouveau département ?


• Mettre à jour les données d’un ou plusieurs employés?
• Supprimer un ou plusieurs employés?
• è Requêtes de modification de données : INSERT, UPDATE, DELETE

E. Zemmouri, ENSAM - Meknès 3

INSERT

E. Zemmouri, ENSAM - Meknès 4


Insertion

• Insertion de tuples dans une relation.

• La forme de base de l'insertion est :


INSERT INTO R (A1, A2, …, An) VALUES (v1, v2, …, vn);

o Un tuple sera créé en utilisant les valeurs vi pour les attributs Ai.

o Si la liste des attributs n'inclut pas tous les attributs de la relation R, alors le tuple créé a
des valeurs par défaut pour tous les attributs manquants.

• Forme simplifiée :
INSERT INTO R VALUES (v1, v2, …, vn);

E. Zemmouri, ENSAM - Meknès 5

Table EMP
Insertion
enum enom prof sal dnum
100 ALI Manager 1000 20
101 HASSAN Ingénieur 1200 10
102 AMAL Ingénieur 1000 10
enum enom prof sal dnum
103 AMINA Technicien 1100 20
100 ALI Manager 1000 20
104 AMINE Technicien 900 10
101 HASSAN Ingénieur 1200 10
102 AMAL Ingénieur 1000 10
103 AMINA Technicien 1100 20
104 AMINE Technicien 900 10
105 ADIL Ingénieur 1100 10

INSERT INTO emp VALUES (105, ‘ADIL’, ‘Ingénieur’, 1100, 10);

E. Zemmouri, ENSAM - Meknès 6


Table EMP
Insertion
enum enom prof sal dnum
100 ALI Manager 1000 20
101 HASSAN Ingénieur 1200 10
102 AMAL Ingénieur 1000 10
enum enom prof sal dnum
103 AMINA Technicien 1100 20
100 ALI Manager 1000 20
104 AMINE Technicien 900 10
101 HASSAN Ingénieur 1200 10
CREATE TABLE emp ( 102 AMAL Ingénieur 1000 10
enum INT PRIMARY KEY, 103 AMINA Technicien 1100 20
enom VARCHAR(10) NOT NULL, 104 AMINE Technicien 900 10
prof VARCHAR(20) DEFAULT ’Tech’, 105 ADIL Ingénieur 1100 10
sal DECIMAL(7,2), 106 ZAID Tech NULL NULL
dnum INT
);

INSERT INTO emp (enom, enum) VALUES (‘ZAID’,


106);
E. Zemmouri, ENSAM - Meknès 7

Insertion

• On peut insérer un ensemble de tuples en utilisant les sous requêtes :


INSERT INTO R (A1, A2, …, An)
SELECT B1, B2, …, Bn
FROM T
WHERE Condition;

E. Zemmouri, ENSAM - Meknès 8


DELETE

E. Zemmouri, ENSAM - Meknès 9

Suppression

• Suppression de tuples d’une relation vérifiant une condition.

• La forme de base de la suppression est :


DELETE FROM R WHERE Condition;

o Cette requête a pour effet que chaque tuple de R qui satisfait la condition sera supprimé
de la relation R.

E. Zemmouri, ENSAM - Meknès 10


Table EMP
Suppression
enum enom prof sal dnum
100 ALI Manager 1000 20
101 HASSAN Ingénieur 1200 10
102 AMAL Ingénieur 1000 10
103 AMINA Technicien 1100 20
104 AMINE Technicien 900 10
105 ADIL Ingénieur 1100 10
106 ZAID Technicien 800 20
enum enom prof sal dnum

• Supprimer les employés qui ont un 100 ALI Manager 1000 20


102 AMAL Ingénieur 1000 10
salaire supérieur à 1100.
104 AMINE Technicien 900 10
DELETE FROM emp 106 ZAID Technicien 800 20

WHERE sal >= 1100;

E. Zemmouri, ENSAM - Meknès 11

Table EMP
Suppression
enum enom prof sal dnum Table DEP
100 ALI Manager 1000 20 dnum dnom ville dir

101 HASSAN Ingénieur 1200 10 10 Production Meknes 101

102 AMAL Ingénieur 1000 10 20 Ventes Casa 100

103 AMINA Technicien 1100 20


104 AMINE Technicien 900 10
105 ADIL Ingénieur 1100 10
106 ZAID Technicien 800 20
enum enom prof sal dnum

• Supprimer les employés qui travaillent 101 HASSAN Ingénieur 1200 10


102 AMAL Ingénieur 1000 10
à Casa.
104 AMINE Technicien 900 10
DELETE FROM emp 105 ADIL Ingénieur 1100 10

WHERE dnum IN (SELECT dnum FROM dep WHERE ville=‘Casa’);

E. Zemmouri, ENSAM - Meknès 12


UPDATE

E. Zemmouri, ENSAM - Meknès 13

Mise à jour

• Changer les valeurs des composants (attributs) d’un ou plusieurs tuples


d’une relation.

• La forme de base de la mise à jour est :


UPDATE R SET A1=v1, A2=v2, …, An=vn WHERE Condition;

o L'effet de cette instruction est de trouver tous les tuples de R qui satisfont la condition.

o Chacun de ces tuples est ensuite modifié en affectant les valeurs vi aux composants Ai
du tuple.

E. Zemmouri, ENSAM - Meknès 14


Table EMP
Mise à jour
enum enom prof sal dnum
100 ALI Manager 1000 20
101 HASSAN Ingénieur 1200 10
102 AMAL Ingénieur 1000 10
103 AMINA Technicien 1100 20
104 AMINE Technicien 900 10
105 ADIL Ingénieur 1100 10
106 ZAID Technicien 800 20 enum enom prof sal dnum
100 ALI Manager 1000 20
• Augmenter de 10% les salaires des
101 HASSAN Ingénieur 1200 10
employés techniciens ?
102 AMAL Ingénieur 1000 10
UPDATE emp 103 AMINA Technicien 1210 20
104 AMINE Technicien 990 10
SET sal = sal + sal*10/100
105 ADIL Ingénieur 1100 10
WHERE prof=‘Technicien’; 106 ZAID Technicien 880 20

E. Zemmouri, ENSAM - Meknès 15

Table EMP
Mise à jour
enum enom prof sal dnum
100 ALI Manager 1000 20
101 HASSAN Ingénieur 1200 10
102 AMAL Ingénieur 1000 10
103 AMINA Technicien 1100 20
104 AMINE Technicien 900 10
105 ADIL Ingénieur 1100 10
106 ZAID Technicien 800 20 enum enom prof sal dnum
100 ALI Manager 1100 20
• Augmenter de 10% les salaires de tous
101 HASSAN Ingénieur 1320 10
les employés ?
102 AMAL Ingénieur 1100 10

UPDATE emp 103 AMINA Technicien 1210 20


104 AMINE Technicien 990 10
SET sal = sal + sal*10/100 ; 105 ADIL Ingénieur 1210 10
106 ZAID Technicien 880 20

E. Zemmouri, ENSAM - Meknès 16


Table EMP
Suppression
enum enom prof sal dnum Table DEP
100 ALI Manager 1000 20 dnum dnom ville dir

101 HASSAN Ingénieur 1200 10 10 Production Meknes 101

102 AMAL Ingénieur 1000 10 20 Ventes Casa 100

103 AMINA Technicien 1100 20


104 AMINE Technicien 900 10 enum enom prof sal dnum

105 ADIL Ingénieur 1100 10 100 ALI Manager 1000 20

106 ZAID Technicien 800 20 101 HASSAN Ingénieur 1200 10


102 AMAL Ingénieur 1000 10
• Modifier la profession des techniciens 103 AMINA Tech vente 1100 20
qui travaillent à Casa par ‘Tech vente’. 104 AMINE Technicien 900 10
105 ADIL Ingénieur 1100 10
UPDATE emp 106 ZAID Tech vente 800 20
SET prof = ‘Tech vente’
WHERE prof=‘Technicien’ AND dnum IN (SELECT dnum FROM dep WHERE ville=‘Casa’);

E. Zemmouri, ENSAM - Meknès 17

Bases de données

SQL - Modifications

EL Moukhtar ZEMMOURI
ENSAM – Meknès
Version – 2023 / 2024

Vous aimerez peut-être aussi