COURS D’INTRODUCTION AU SQL
1. Qu’est-ce que le SQL ?
SQL signifie Structured Query Language. C’est un langage utilisé pour gérer les bases de
données relationnelles.
Il permet de :
• Créer des bases de données et des tables
• Insérer des données
• Modifier des données
• Supprimer des données
• Interroger les données
SQL est utilisé dans MySQL, SQL Server, Oracle, PostgreSQL, Access, etc.
2. Les concepts de base
• Base de données : ensemble organisé d'informations.
• Table : structure composée de colonnes (champs) et lignes
(enregistrements).
• Colonne : définit un type de donnée (nom, date, prix…).
• Ligne : représente un enregistrement.
• Clé primaire (PRIMARY KEY) : identifie chaque ligne de manière unique.
• Clé étrangère (FOREIGN KEY) : relie deux tables.
3. Création d’une table
Exemple :
CREATE TABLE Etudiant (
idEtudiant INT PRIMARY KEY,
nom VARCHAR(50),
prenom VARCHAR(50),
age INT
);
4. Insérer des données
INSERT INTO Etudiant (idEtudiant, nom, prenom, age)
VALUES (1, 'Diop', 'Madiodio', 22);
5. Lire les données (SELECT)
Afficher tout :
SELECT * FROM Etudiant;
Afficher quelques colonnes :
SELECT nom, prenom FROM Etudiant;
Trier:
SELECT * FROM Etudiant ORDER BY nom ASC;
6. Modifier des données (UPDATE)
UPDATE Etudiant
SET age = 23
WHERE idEtudiant = 1;
7. Supprimer des données (DELETE)
DELETE FROM Etudiant
WHERE idEtudiant = 1;
8. Conditions avec WHERE
SELECT nom, prenom
FROM Etudiant
WHERE age > 20;
9. Jointures (JOINS)
Pour combiner plusieurs tables.
Exemple :
Table Etudiant :
- idEtudiant
- nom
- prenom
Table Inscriptions :
- idInscription
- idEtudiant
- annee
Requête :
SELECT [Link], [Link], [Link]
FROM Etudiant
JOIN Inscriptions
ON [Link] = [Link];
10. Fonctions d’agrégation
Compter :
SELECT COUNT(*) FROM Etudiant;
Moyenne :
SELECT AVG(age) FROM Etudiant;
Min/Max :
SELECT MIN(age) FROM Etudiant;
SELECT MAX(age) FROM Etudiant;
11. Groupement (GROUP BY)
Nombre d’étudiants par âge :
SELECT age, COUNT(*)
FROM Etudiant
GROUP BY age;
12. Exercices pour étudiants
1. Créer une table Produit (idProduit, nom, prix).
2. Insérer deux produits.
3. Afficher les produits dont le prix > 1000.
4. Créer une table Vente liée à Produit, puis afficher le nom du produit et la quantité via un JOIN.