Académique Documents
Professionnel Documents
Culture Documents
Langage SQL
Abdelfettah IDRI
Introduction au langage SQL
SQL : « Structured Query Language »
CHAR(n) ou CHARACTER(n)
VARCHAR(n) ou CHARACTER VARYING (n)
Introductions SQL / Types
Temporels:
DATE (2,2,4)
TIME (H, M, S)
TIMESTAMP (date + heure)
INTERVAL ( intervalle de temps)
Introductions SQL / Types
Valeur NULL:
NULL : valeur vide qui est différent de zéro.
Interrogation / SELECT
Basée essentiellement sur l’instruction « SELECT »
Syntaxe :
SELECT exp_1 , … , exp_n
FROM table_1 , … , table_n
WHERE Prédicat
========================
SELECT *
FROM table_1 , … , table_n
WHERE Prédicat
Interrogation / SELECT
SELECT : retourne les données spécifiées dans la clause «
exp_1, …, exp_n » depuis les tables « table_1, … , table_n
» et vérifiant les conditions décrites dans « Prédicat »
exp_1 , … , exp_n : colonnes de tables ou expressions
basées dessus (constantes, …)
FROM : spécifies les tables de sélection
table_1 , … , table_n : (tables, vues, …)
WHERE : introduit des contraintes logiques à vérifier
Prédicat : contraintes logiques à vérifier qui peuvent être
assez complexes
Interrogation / Exemples
SELECT nom , CNE
FROM Etudiant
========================
Nom CNE
Nadiri 132542
Zerwal 456884
Moutawakil 878955
Moutawakil 685499
Interrogation / Exemples
SELECT nom , CNE , note + 2
FROM Etudiant
========================
Nom CNE
Moutawakil 878955
Moutawakil 685499
Interrogation / Exemples
SELECT *
FROM Etudiant
WHERE Nom = ‘Nadiri’ AND Prénom = ‘Ahmed’
========================
Opérateur description
= Egale
> Strictement supérieur
>= Supérieur ou égal
< Strictement inférieur
<= Inférieur ou égal
LIKE Pattern matching operator
IN Ensemble de valeurs
BETWEEN Désigne un intervalle
Interrogation / fonctions
Exemple :
SELECT DISTINCT nom
FROM Etudiant
========================
Nom
Nadiri
Zerwal
Moutawakil
Manipulation/ INSERT
Deux formes générales:
Syntaxe 1 :
INSERT INTO table (champ_1, …, champ _n)
Values (val_1 , … , val_n)
========================
Syntaxe 2 :
INSERT INTO table (champ_1, …, champ _n)
SELECT …
Manipulation/ INSERT
Insertion explicite simple:
Syntaxe 1 :
INSERT INTO table (champ_1, …, champ _n)
Values (val_1 , … , val_n)
========================
INSERT INTO table
Values (val_1 , … , val_n)
========================
INSERT INTO table
Values (val_1 , …, NULL,… , val_n)
Manipulation/ INSERT
Insertion explicite simple:
Exemple :
INSERT INTO Etudiant (nom, Prénom, CNE, note, Email)
Values (‘rachidi’, ‘Mohamed’, ‘547889’, 12, ‘rach@gmail.com’)
========================
INSERT INTO Etudiant
Values (‘rachidi’, ‘Mohamed’, ‘547889’, 12, ‘rach@gmail.com’)
========================
INSERT INTO Etudiant
Values (‘rachidi’, ‘Mohamed’, ‘547889’, NULL,
‘rach@gmail.com’)
Manipulation/ INSERT
Insertion explicite multiple:
Syntaxe 1 :
INSERT INTO table (champ_1, …, champ _n)
Values (val_1 , … , val_n,
val_11 , … , val_1n,
…)
========================
INSERT INTO table
Values (val_1 , … , val_n,
val_11 , … , val_1n,
…)
Manipulation/ INSERT
Insertion explicite multiple:
Exemple :
INSERT INTO Etudiant (nom, Prénom, CNE, note, Email)
Values (‘rachidi’, ‘Mohamed’, ‘547889’, 12, ‘rach@gmail.com’,
‘jalal’, ‘Nazha’, ‘658956’, 14, ‘jal@yahoo.com’)
========================
INSERT INTO Etudiant
Values (‘rachidi’, ‘Mohamed’, ‘547889’, 12, ‘rach@gmail.com’,
‘jalal’, ‘Nazha’, ‘658956’, 14, ‘jal@yahoo.com’)
Manipulation/ INSERT
Insertion multiple à base de SELECT:
Syntaxe 1 :
INSERT INTO table_1 (champ_1, …, champ _n)
SELECT champ_11, … , champ_1n
FROM table_2
Manipulation/ INSERT
Insertion multiple à base de SELECT:
Exemple :
Une table Candidat similaire à Etudiant
Une inscription de tous les candidats restant dans la table
Candidat
=================================
========
INSERT INTO Etudiant (Nom, Prénom, CNE, Email)
SELECT Nom_Cdt, Prénom_Cdt, CNE_Cdt, Email_Cdt
FROM Candidat
Manipulation/ DELETE
Exemples:
Syntaxe 1 : Suppression inconditionnelle:
DELETE FROM Candidat
Syntaxe :
UPDATE table
SET colonne1 = val1 , colonne2 = val2 , …
WHERE conditions
Manipulation/ UPDATE
Exemple:
UPDATE Etudiant
SET email = ‘user@yahoo.com’
============================
UPDATE Etudiant
SET email = ‘user@yahoo.com’
WHERE nom = ‘jalal’
Définition/ CREATE
Syntaxe :
CREATE table
( colonne1 type1,
colonne2 type2,
…
)
Définition/ CREATE
Exemple: