Langage SQL - Support de Cours
Détaillé
Licence 2 - Institut Supérieur de
l'Économie Numérique
Introduction au langage SQL
• - SQL (Structured Query Language) est le
langage standard pour interagir avec une base
de données relationnelle.
• - Permet de :
• * Créer des bases et des tables
• * Manipuler les données (insertion,
modification, suppression)
• * Interroger les données
• * Gérer la sécurité et les droits
Les catégories de commandes SQL
• - DDL (Data Definition Language) : CREATE,
ALTER, DROP
• - DML (Data Manipulation Language) : INSERT,
UPDATE, DELETE
• - DQL (Data Query Language) : SELECT
• - DCL (Data Control Language) : GRANT,
REVOKE
• - TCL (Transaction Control Language) :
COMMIT, ROLLBACK
CREATE - Créer des objets
• Exemple de création de table :
• CREATE TABLE Etudiants (
• id INT PRIMARY KEY,
• nom VARCHAR(100),
• age INT,
• email VARCHAR(100)
• );
INSERT - Ajouter des données
• Exemple :
• INSERT INTO Etudiants (id, nom, age, email)
• VALUES (1, 'Jean Mabiala', 21,
'[email protected]');
SELECT - Lire des données
• Exemples :
• SELECT * FROM Etudiants;
• SELECT nom, age FROM Etudiants WHERE age
> 20;
• SELECT COUNT(*) FROM Etudiants;
UPDATE - Modifier des données
• Exemple :
• UPDATE Etudiants
• SET age = 22
• WHERE id = 1;
DELETE - Supprimer des données
• Exemple :
• DELETE FROM Etudiants
• WHERE id = 1;
Les clauses WHERE, ORDER BY,
GROUP BY
• - WHERE : filtre les lignes
• - ORDER BY : trie les résultats
• - GROUP BY : regroupe les lignes par valeur
commune
• Exemple :
• SELECT age, COUNT(*) FROM Etudiants
• GROUP BY age
• ORDER BY age DESC;
Les jointures (JOINS)
• - INNER JOIN : ne garde que les
correspondances
• - LEFT JOIN : garde toutes les lignes de gauche
• - RIGHT JOIN : garde toutes les lignes de droite
• - FULL JOIN : garde toutes les lignes
• Exemple :
• SELECT E.nom, N.note FROM Etudiants E
• INNER JOIN Notes N ON E.id = N.etudiant_id;
Les fonctions d’agrégation
• - SUM(), COUNT(), AVG(), MAX(), MIN()
• Exemple :
• SELECT AVG(age) FROM Etudiants;
Les sous-requêtes
• - Requête imbriquée à l'intérieur d'une autre
• Exemple :
• SELECT nom FROM Etudiants
• WHERE age > (SELECT AVG(age) FROM
Etudiants);
Transactions SQL
• - Début : BEGIN ou START TRANSACTION
• - COMMIT : valider les changements
• - ROLLBACK : annuler les changements
• Exemple :
• BEGIN;
• UPDATE Etudiants SET age = 23 WHERE id = 2;
• ROLLBACK;
Gestion des utilisateurs et
privilèges
• - GRANT : accorder un droit
• - REVOKE : retirer un droit
• Exemple :
• GRANT SELECT ON Etudiants TO utilisateur1;
• REVOKE INSERT ON Etudiants FROM
utilisateur1;