SQL S Q L: Le Langage
SQL S Q L: Le Langage
1
[email protected] Langage SQL
I. Introduction
1. Définition
II. Requêtes d’interrogation : DQL
2. Notion de requête
III. Requêtes de manipulation de données : DML
3. Fonctionnalités de SQL
IV. Requêtes de définition de données : DDL
2
I. Introduction
1. Définition
II. Requêtes d’interrogation : DQL
2. Notion de requête
III. Requêtes de manipulation de données : DML
3. Fonctionnalités de SQL
IV. Requêtes de définition de données : DDL
3
I. Introduction
1. Définition
II. Requêtes d’interrogation : DQL
2. Notion de requête
III. Requêtes de manipulation de données : DML
3. Fonctionnalités de SQL
IV. Requêtes de définition de données : DDL
• DDL (Data Définition Language) qui permet de définir et de modifier le schéma d'une base
de données relationnelle (création, modification de schéma) .
• DML (Data Manipulation Language) qui permet la modification d'une base de données
relationnelle (ajout, suppression ou mise à jour).
• DCL (Data Contrôle Language) pour contrôler la sécurité et l'intégrité de la base de données
relationnelle.
4
1. Définition
I. Introduction 2. Projection
II. Requêtes d’interrogation : DQL 3. Sélection
III. Requêtes de manipulation de données : DML 4. Jointure
IV. Requêtes de définition de données : DDL 5. Regroupement
6. Sous-requêtes
5
1. Définition
I. Introduction 2. Projection
II. Requêtes d’interrogation : DQL 3. Sélection
III. Requêtes de manipulation de données : DML 4. Jointure
IV. Requêtes de définition de données : DDL 5. Regroupement
6. Sous-requêtes
6
1. Définition
I. Introduction 2. Projection
II. Requêtes d’interrogation : DQL 3. Sélection
III. Requêtes de manipulation de données : DML 4. Jointure
IV. Requêtes de définition de données : DDL 5. Regroupement
6. Sous-requêtes
7
1. Définition
I. Introduction 2. Projection
II. Requêtes d’interrogation : DQL 3. Sélection
III. Requêtes de manipulation de données : DML 4. Jointure
IV. Requêtes de définition de données : DDL 5. Regroupement
6. Sous-requêtes
8
1. Définition
I. Introduction 2. Projection
II. Requêtes d’interrogation : DQL 3. Sélection
III. Requêtes de manipulation de données : DML 4. Jointure
IV. Requêtes de définition de données : DDL 5. Regroupement
6. Sous-requêtes
FROM Produit
9
1. Définition
I. Introduction 2. Projection
II. Requêtes d’interrogation : DQL 3. Sélection
III. Requêtes de manipulation de données : DML 4. Jointure
IV. Requêtes de définition de données : DDL 5. Regroupement
6. Sous-requêtes
Clause DISTINCT
• On veut avoir les villes des clients et les codes postales
correspondants:
Doublon
11
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Clause DISTINCT
Pas de doublon
12
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Sélection
• La Sélection permet d’extraire les lignes d’une table qui
vérifient une certaine condition .
• Elle s’exprime grâce à la clause WHERE.
Syntaxe
SELECT liste des attributs (colonnes)
FROM liste des tables
WHERE condition;
13
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
14
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Exemple 1:
Liste des clients de la ville d’ El Jadida:
SELECT *
FROM Client
15
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Exemple 2:
La liste des clients (NomCli, CodPost, Tel) de la ville de El
Jadida classés suivant le Code postal (tri croissant):
SELECT NomCli, CodPost, Tel
FROM Client
ORDER BY CodPost;
16
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
SELECT nomCli
FROM Client
17
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
FROM Client
18
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
FROM Client
19
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
SELECT *
FROM Client
20
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
SELECT *
FROM Client
21
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
SELECT numCde
FROM Commande
22
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
FROM Client
23
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
FROM Client
24
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Utilisation de UNION
Requête qui fusionne la liste des clients ayant passé une
commande avec ceux habitant à ELJadida, sans doublons:
SELECT NumCli
FROM Commande
UNION
SELECT NumCli
FROM Client
WHERE VilleCli = "El Jadida";
Affiche les numéros des clients qui ont passé
des commandes ou qui habitent à " El Jadida ".
25
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Utilisation de INTERSECT
SELECT NumCli
FROM Commande
INTERSECT
SELECT NumCli
FROM Client
WHERE VilleCli = "El Jadida";
26
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
27
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
28
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
SELECT *
FROM Commande
WHERE dateCde = date() ;
29
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
SELECT *
FROM Commande
WHERE year(dateCde) = 2024 ;
30
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
SELECT *
FROM Commande
WHERE month(dateCde) = month(date()) ;
31
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
La jointure :
• La jointure : c’est la mise en correspondance de 2 tables
selon un critère.
32
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
• Syntaxe:
SELECT liste des colonnes
FROM table1, table2
WHERE table1.cléprimaire = table2.cléétrangère;
• Ou:
SELECT liste des colonnes
FROM table1 JOIN table2
ON table1.cléprimaire = table2.cléétrangère;
33
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
CLIENT
COMMANDE DetailsCommande PRODUIT
NumCli
NomCli NumCde #NumCde RefProd
VilleCli DateCmd #RefProd Désignation
CodPost #NumCli Quantité PU
Tel
34
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
35
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Remarque:
• Lorsqu'on utilise plusieurs tables, il faut faire attention
que deux tables n'aient pas de champs ayant le même
nom, si c'est le cas, et pour les différencier, on utilise,
comme dans l'exemple précédent, la notation:
Table.NomDuChamp
• Si le nom du champ ne se retrouve pas dans plusieurs
tables, on peut l'utiliser sans le préfixer avec le nom de
la table.
36
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
37
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
WHERE numCde=11;
38
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
WHERE Produit.Refprod=DetailsCommande.Refprod
AND Commande.numCde=DetailsCommande.numCde
39
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
• Opérateurs arithmétiques:
Certaines requêtes ont besoin de faire des calculs. Pour cela,
il est possible d'utiliser les quatre opérateurs arithmétiques
(+, -, /, *) en combinant des noms de champ et/ou des
chiffres.
• Exemple:
SELECT PU*1.2 AS [Prix TTC]
FROM Produit
WHERE RefProd=P01;
41
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
42
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Fonction MIN( )
Prix du produit le moins cher (afficher uniquement cette
donnée)
FROM Produit;
43
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Fonction MAX( )
Prix du produit le plus cher:
FROM Produit;
44
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Fonction COUNT( )
Nombre de clients de la ville d’Agadir:
FROM Client
WHERE villeCli="Agadir";
45
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Fonction AVG( )
Prix moyen de l'ensemble des produits:
FROM Produit ;
46
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Fonction SUM( )
Montant total HT de la commande N° 7:
AND numCde=7;
47
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Fonction COUNT( )
Le plus souvent, on souhaite grouper les résultats d’une requête
par catégorie pour faire des traitements sur ces catégories.
Supposons par exemple que l’utilisateur exécute la requête
suivante:
SELECT COUNT(*)
FROM Client;
Cette requête donne le nombre total des clients
enregistrés dans la table Client.
48
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
La clause GROUP BY
• Exemple: Nous voulons obtenir pour chaque ville le
nombre de clients correspondant. La requête est alors:
FROM Client
GROUP BY villeCli ;
La clause GROUP BY
• Exemple: Combien de commandes ont été passées par
chaque client? (Nombre de commandes par client)
FROM Commande
GROUP BY numCli;
50
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
La clause GROUP BY
• Exemple : Montant total HT de chaque commande
GROUP BY numCde;
51
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
La clause HAVING
53
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
La clause HAVING
• La clause HAVING permet une Sélection sur un groupe de ligne. Elle
est liée à la clause GROUP BY
Remarque : HAVING est toujours associé au GROUP BY
• Requête précédente :
SELECT numCde, COUNT(*)
FROM DetailsCommande
GROUP BY numCde
HAVING COUNT(*)>=3;
54
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
La clause HAVING
• Liste des clients (NumCli) qui ont passé au moins deux
commandes .
SELECT numCli, count(*)
FROM Commande
GROUP BY numCli
55
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
La clause HAVING
• Les commandes dont le montant total HT dépasse 10000 DH
SELECT numCde, SUM(Quantité*PU) AS [total HT]
GROUP BY numCde
HAVING SUM(Quantité*PU)>10000;
56
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
57
I- Requêtes d’interrogation
1. PROJECTION
2. Sélection
3. JOINTURE
4. REGROUPEMENT
5. SOUS-REQUÊTES
58
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
Requêtes Imbriquées
• Une sous-requête est une requête dont le résultat est
utilisé par une autre requête.
• Par exemple, vous voulez sélectionner les commandes
dont le montant est supérieur au montant moyen des
commandes. Le montant moyen des commandes n'est
pas connu directement. Ce montant moyen va être
retourné par une autre requête (appelée ici sous-
requête).
59
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
FROM Produit);
60
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
FROM Produit);
61
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
62
1. Définition
2. Projection
I. Introduction 3. Sélection
II. Requêtes d’interrogation : DQL 4. Jointure
III. Requêtes de manipulation de données : DML 5. Champs calculés
IV. Requêtes de définition de données : DDL 6. Fonctions Agrégats
7. Regroupement
8. Sous-requêtes
FROM COMMANDE
FROM DetailsCommande);
64
I. Introduction
II. Requêtes d’interrogation : DQL 1. Insertion
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Syntaxe:
INSERT INTO nom-TABLE VALUES ( 'valeur1 ', 'valeur2', …) ;
OU
INSERT INTO nom-TABLE(col1,col2,….) VALUES ( 'valeur1‘,
'valeur2‘,…) ;
65
I. Introduction
II. Requêtes d’interrogation : DQL 1. Insertion
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Exemple 1:
• On souhaite insérer un nouveau client en précisant toutes
ses informations:
Exemple 2:
• On souhaite insérer un nouveau client pour lequel on ne dispose
que de valeurs relatives à certaines colonnes de cette table. Ces
colonnes sont : code client, son nom et sa ville . Dans ce cas on
doit donner les colonnes, qui sont concernées, dans le même
ordre que ces valeurs. La commande SQL sera alors la suivante :
INSERT INTO Client (NumCli, NomCli, VilleCli)
VALUES (211, "Ibrahimi", "El Jadida");
• Les colonnes, de la table Client, qui sont absentes recevront la
valeur NULL (vide) au moment de l'insertion de la ligne.
67
I. Introduction
II. Requêtes d’interrogation : DQL 1. Insertion
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Exemple 3 :
• Considérons les deux tables:
Client (numCli, nomCli, villeCli, codpost, Tel)
ClientFidèle (numCli, nomCli, Tel)
• Ajouter tous les clients d’ El Jadida dans la table des clients fidèles :
INSERT INTO ClientFidèle
SELECT numCli, nomCli, Tel
FROM Client
WHERE villeCli="El Jadida";
68
I. Introduction
II. Requêtes d’interrogation : DQL 1. Insertion
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
L’instruction DELETE
• Utilisée pour supprimer une ou plusieurs lignes
existantes à partir d'une table.
Syntaxe :
DELETE champs
FROM nom_de_la_table ;
WHERE condition;
Le mot clé WHERE permet d’exprimer les critères de sélection
des lignes à supprimer( cette partie est optionnelle).
69
I. Introduction
II. Requêtes d’interrogation : DQL 1. Insertion
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Exemple 1 :
DELETE FROM Produit
WHERE RefProd=32;
• Destruction de tous les articles dont la désignation
commence par "EM":
Exemple 2 :
DELETE FROM Produit
WHERE Designation LIKE "EM*";
70
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Exemple 3 : Exemple 4 :
DELETE Numcli DELETE *
FROM Client; FROM Client;
WHERE VilleCli like "RABAT";
Exemple 5 :
DELETE *
FROM Commande;
71
I. Introduction
II. Requêtes d’interrogation : DQL 1. Insertion
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
L’instruction UPDATE
• Il est parfois nécessaire de modifier des données déjà stockées
dans une table. Pour cela, on utilise l’instruction UPDATE:
• Syntaxe :
UPDATE Table
SET nom_col1 = expression1 , nom_col2 = expression2,...
WHERE condition;
• Les valeurs des colonnes identifiées par nom_col1, nom_col2, …,
sont modifiées dans toutes les lignes qui vérifient la condition de la
clause WHERE. En cas ou cette dernière est absente, toutes les lignes
de la table sont mises à jour.
72
I. Introduction
II. Requêtes d’interrogation : DQL 1. Insertion
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
UPDATE :Exemples
• Le client ayant le code 4110 a changé son ancien numéro de
téléphone par « 05 67 00 11 22 »:
UPDATE Client
SET Tel= "0567001122"
WHERE NumCli=4110;
• Les prix unitaires de tous les produits sont augmentés de 5 %:
UPDATE Produit
SET PU = PU*(1+0.05);
73
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Modification
III. Requêtes de manipulation de données : DML 3. Suppression
IV. Requêtes de définition de données : DDL
➢ ALTER TABLE
➢ DROP
74
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
75
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Type de données:
• INTEGER : un entier signé
• REAL : une valeur à virgule flottante
• TEXT : une chaîne de caractères
• NUMERIC : numérique
• DATE/DATETIME : date/date et heure
76
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Exemple 1:
CREATE TABLE Etudiant (
Num_etudiant INTEGER NOT NULL PRIMARY KEY
AUTOINCREMENT UNIQUE,
nom TEXT,
ville TEXT);
Résultat de la requête:
Num_etudiant nom ville
77
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Exemple 2:
CREATE TABLE Etudiant (
Num_etudiant INTEGER NOT NULL AUTOINCREMENT
UNIQUE,
nom TEXT,
ville TEXT,
PRIMARY KEY(Numero_étudiant)
);
78
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Syntaxe :
Drop table Etudiant;
Ou
Drop table if exists Etudiant;
79
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
Exemple :
Drop table nom_de_la_table ;
Ou
Drop table if exists nom_de_la_table ;
80
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL
81
I. Introduction
II. Requêtes d’interrogation : DQL 1. Création
2. Suppression
III. Requêtes de manipulation de données : DML 3. Modification
IV. Requêtes de définition de données : DDL