Académique Documents
Professionnel Documents
Culture Documents
46 47
54 55
58 59
60 61
LE LANGAGE SQL LE LANGAGE SQL
2.4. Modifier le schéma d’une table
La requête ALTER TABLE permet de modifier une Pour supprimer une colonne:
table. ALTER TABLE nom_de_la_table
Pour ajouter une colonne: DROP COLUMN colonne;
ALTER TABLE nom_de_la_table
ADD colonne type_donnees [options]; Exp: Supprimer la colonne “AdrC” de la table Client:
ALTER TABLE CLIENT
Exp: Ajouter une colonne “AdrC” à la table Client: DROP COLUMN AdrC;
ALTER TABLE CLIENT
ADD AdrC varchar(250);
62 63
Pour modifier le type de données d’une colonne: La requête DROP TABLE permet de supprimer une
ALTER TABLE nom_de_la_table table:
MODIFY COLUMN colonne type_donnees [options]; DROP TABLE nom_de_la_table;
Exp: Modifier le type de la colonne “AdrC” de la La requête TRUNCATE TABLE permet de vider une
table Client pour text: table:
ALTER TABLE CLIENT TRUNCATE TABLE nom_de_la_table;
MODIFY COLUMN AdrC text;
64 65
LE LANGAGE SQL LE LANGAGE SQL
3. Requêtes de manipulation de données 3.1. Opérateurs de comparaison
SQL offre un certain nombre de commandes pour la SQL permet d’utiliser les opérateurs suivants:
manipulation des données d’une base: • Les opérateurs de comparaison usuels:
• Opérateurs de comparaison <, >, =, <=, >=, <>
• Insertion d’une ligne Exp: NumClient >= 10
• Mise à jour d’une donnée • L’opérateur BETWEEN pour utiliser un intervalle;
• Suppression d’une ligne Exp: NumClient BETWEEN 10 AND 20
• Interrogation (SELECT) • L’opérateur IN pour vérifier l’appartenance à un
• Fonctions d’agrégation ensemble;
• Opérations: Union, Intersection, Sélection, Exp: NumClient IN (10,12,13)
Projection, Jointure, Produit cartésien, …
66 67
68 69
LE LANGAGE SQL LE LANGAGE SQL
3.2. Insertion d’une ligne 3.3. Mise à jour d’une donnée
La requête qui permet d’insérer une ligne dans une La requête qui permet de mettre à jour des données
table: dans une table:
INSERT INTO table_name [(col1, col2, ...)] UPDATE table_name
VALUES (val1, val2, ...); SET col1 = val1, col2 = val2, ...
Exp: WHERE condition;
INSERT INTO CLIENT Exp:
VALUES (10, ‘N10’, ‘P10’, ‘A10’);
UPDATE CLIENT
INSERT INTO CLIENT (NumClient, NomC, PrenomC, AdrC)
SET AdrC = ‘rue A, Batna’
VALUES (11, ‘N11’, ‘P11’, ‘A11’);
WHERE NumClient = 10;
70 71
72 73
LE LANGAGE SQL LE LANGAGE SQL
3.6. Opération de projection 3.7. Opération d’union
L’opération de projection se fait par l’opérateur L'opérateur UNION est utilisé pour réunir les résultats de
SELECT: deux instructions SELECT ou plus.
SELECT [DISTINCT] col1, col2, ... SELECT col11, col12, … FROM table1
FROM nom_table; UNION
SELECT col21, col22, … FROM table2;
Exp:
Les deux requêtes SELECT dans UNION doivent avoir le
SELECT DISTINCT NomC même nombre de colonnes.
FROM CLIENT; Les colonnes doivent avoir des types de données
similaires.
Les colonnes de chaque instruction SELECT doivent être
dans le même ordre.
74 75
SELECT * FROM R1
UNION
SELECT * FROM R2; 76 77
LE LANGAGE SQL LE LANGAGE SQL
3.8. Opération de produit cartésien (suite) 3.9. Opération de jointure naturelle
Exp: Pour faire la jointure naturelle on utilise l’opérateur
INNER JOIN:
SELECT * SELECT col1, col2, …
FROM CLIENT, COMMANDE FROM table1
INNER JOIN table2
SELECT * ON table1.coln = table2.colm;
FROM PRODUIT, FOURNISSEUR
78 79
SELECT *
FROM PRODUIT
INNER JOIN FOURNISSEUR
ON PRODUIT.NumFour = FOURNISSEUR.NumFour;
80 81
LE LANGAGE SQL LE LANGAGE SQL
3.9. Opération de jointure naturelle (suite) 3.10. Fonctions d’agrégation
Exp: Les fonctions d’agrégation en SQL:
SELECT * MIN(nom_colonne)
FROM CLIENT, COMMANDE MAX(nom_colonne)
WHERE CLIENT.NumClient = COMMANDE.NumClient; COUNT(nom_colonne)
AVG(nom_colonne)
SELECT *
SUM(nom_colonne)
FROM PRODUIT, FOURNISSEUR
WHERE PRODUIT.NumFour = FOURNISSEUR.NumFour;
82 83
86 87
96 97
LE LANGAGE SQL LE LANGAGE SQL
3.12. Quelques options (suite) NumClient Exp2:
Client Commande
Exp1: 3 Num
NumCl Nom Prenom Adr NumCl Cout DateCom
SELECT * 2 Com
FROM CLIENT 1 1 N2 P5 A1 1 4 100 2018-03-14
WHERE NumClient = ANY/ALL
2 N1 P4 A2 2 3 50 2018-03-13
(SELECT NumClient FROM COMMANDE WHERE DateCom<"2018-03-14");
3 N5 P6 A3 3 2 125 2018-03-12
NumCli NumCo Num 4 N2 P1 A4 4 1 200 2018-03-11
Nom Prenom Adr DateCom
ent m Client
5 1 45 2018-03-13
1 N2 P5 A1 1 4 2018-03-14 Num
Designation Prix
Com
2 N1 P4 A2 2 3 2018-03-13
1 P1 70
3 N5 P6 A3 3 2 2018-03-12
2 P2 120 Produit
4 N2 P1 A4 4 1 2018-03-11
3 P3 25
Résultat (ANY)
Résultat (ALL) est vide 98 4 P4 40 99