Chap I: LE LANGAGE SQL
PREMIERE PARTIE
Présentation de SQL
SQL ( Structured Query Language)
Créer la structure de la base de données et de ses tables ;
Exécuter les tâches de base de la gestion des données, telle
que l’insertion, la modification et la suppression de données
des tables ;
Effectuer des requêtes simples ou complexes.
Présentation de SQL
Fonctionnalités
Un langage de définition de données (LDD : create,
alter,drop) ;
Un langage d’interrogation de données de la base de données
(select) ;
Un langage de manipulation de données (LMD : update,
insert, delete) ;
Un langage de contrôle de l’accès aux données (LCD :
grant).
II Les commandes de définition des
données
1. Création d’une table
CREATE TABLE nom_de_la_table
( colonne1 type_donnees,
colonne2 type_donnees,
colonne3 type_donnees,
colonne4 type_donnees
);
II Les commandes de définition des
données
Exemple :
CREATE TABLE Etudiant
( id_etu INT ,
nom VARCHAR(100),
prenomVARCHAR(100),
date_naissance DATE,
);
II Les commandes de définition des
données
2. Suppression d’une table
Syntaxe :
DROP TABLE nom_table ;
Exemple :
DROP TABLE Etudiant;
II Les commandes de définition des
données
3. Modification d’une table
Ajout d’une colonne
Syntaxe
ALTER TABLE nom_table
ADD nom_colonne type_donnees ;
Exemple :
ALTER TABLE Etudiant
ADD email VARCHAR(250) ;
II Les commandes de définition des
données
Suppression d’une colonne
Syntaxe
ALTER TABLE nom_table
DROP nom_colonne ;
Ou encore
ALTER TABLE nom_table
DROP COLUMN nom_colonne ;
Exemple :
ALTER TABLE Etudiant
DROP email;
II Les commandes de définition des
données
• Interdiction des valeurs nulles : clause NOT NULL
CREATE TABLE Etudiant
( id_etu INT ,
nom VARCHAR(100) NOT NULL,
prenomVARCHAR(100),
date_naissance DATE,
);
II Les commandes de définition des
données
Clé primaire : clause PRIMARY KEY
CREATE TABLE Etudiant
( id_etu INT PRIMARY KEY,
nom VARCHAR(100) NOT NULL,
prenomVARCHAR(100),
date_naissance DATE,
);
II Les commandes de définition des
données
Ou encore
CREATE TABLE Etudiant
( id_etu INT ,
nom VARCHAR(100) NOT NULL,
prenomVARCHAR(100),
date_naissance DATE,
CONSTRAINT pk_etudiant PRIMARY KEY (id_etu)
);
II Les commandes de définition des
données
Clé étrangère : clause FOREIGN KEY
CREATE TABLE Etudiant
( id_etu INT ,
nom VARCHAR(100) NOT NULL,
prenomVARCHAR(100),
date_naissance DATE,
Code_classe int,
CONSTRAINT pk_etudiant PRIMARY KEY (id_etu),
CONSTRAINT fk_etudiant FOREIGN KEY (code_classe)
references classe,
);
III Les commandes de manipulation
1. Ajout ou insertion d’un enregistrement
la commande INSERT.
Insertion d’un tuple
INSERT INTO nom_de_la_table (nom_colonne1,…, nom_colonnen)
VALUES (valeur1,…,valeurn) ;
Insertion d’un ensemble de tuples
INSERT INTO nom_de_la_table (nom_colonne1,…, nom_colonnen)
VALUES (valeur1,…,valeurN),
(valeurA,…,valeurZ);
III Les commandes de manipulation
1. Ajout ou insertion d’un enregistrement
Exemple :
INSERT INTO etudiant(id_etu, nom, prenom, date_naissance)
VALUES (204,’fall’,’samba’,24/03/2004)
(205, ’diop ’,’niokhor’,11/09/2006)
(206,’ndiaye’,’demba’,14/12/2003);
III Les commandes de manipulation
2. Suppression d’un enregistrement
la commande DELETE
DELETE FROM nom_de_la_table
WHERE condition;
Exemple :
supprime l’étudiant de nom samba
DELETE FROM etudiant
WHERE nom=”samba”;
Supprime tous les lignes de la table etudiant
DELETE * FROM etudiant;
III Les commandes de manipulation
3. Mise à jour d’un enregistrement
La commande UPDATE
UPDATE nom_de_la_table
SET nom_colonne1= nouvelle_valeur_1
……………………………..
nom_colonnen= nouvelle_valeur_n
WHERE condition ;
Exemple :
UPDATE etudiant
SET adresse= ‘yoff’
WHERE nom=’Modou ‘ ;
IV Les commandes de recherche
la commande SELECT
SELECT predicat
FROM nom_de_la_table
WHERE condition
GROUP BY critère
HAVING critère
ORDER BY critère ;
IV Les commandes de recherche
La sélection simple
SELECT nom_du_champ
FROM nom_du_tableau ;
Exemple : Quels sont les étudiants qui habitent à fann
Select *
From etudiant
Where adresse=’fann’ ;
IV Les commandes de recherche
Le tri
Donner par ordre alphabétique la liste de tous les étudiants
SELECT *
FROM etudiant
ORDER BY nom ASC ;
Id_etu nom prenom adresse
3 diallo mohamed yoff
2 fall gora fann
1 gueye daouda hlm
4 wade matar fann
IV Les commandes de recherche
La jointure simple
Syntaxe :
SELECT *
FROM nom_des_tables
WHERE prédicat_des_jointures;
Exemple : donner les noms et prénoms des étudiants de la classe de
info1 ;
SELECT nom, prenom
FROM etudiant, classe
WHERE classe.code_classe=etudiant.code_classe
AND libellé_classe=’info1’;