Syntaxe de Base en SQL
Structure d'une Requête SQL
Une requête SQL typique suit cette structure de base :
SELECT colonnes
FROM table
WHERE condition;
- "SELECT" indique les colonnes à récupérer.
- "FROM" spécifie la table à partir de laquelle récupérer les données.
- "WHERE" est utilisé pour filtrer les enregistrements. On y retrouve en général des conditions et opérateurs logiques ( a > b, a = b, a < b, AND, OR, NOT...)
Conventions de Nommage
- Utilisez des noms clairs et descriptifs pour les tables et les colonnes.
- En général, les noms de table sont au pluriel (ex. Employes).
- Utilisez le format camelCase ou snake_case (ex. nomEmploye ou nom_employe).
- Évitez d'utiliser des mots réservés SQL comme noms de table ou de colonne.
Requêtes de Sélection (SELECT)
Sélectionner des Colonnes
Pour sélectionner des colonnes spécifiques :
SELECT colonne1, colonne2
FROM table;
Pour sélectionner toutes les colonnes :
SELECT *
FROM table;
Pour supprimer les doublons dans un résultat :
SELECT DISTINCT colonne1
FROM table;
Utiliser WHERE pour Filtrer les Données
"WHERE" est utilisé pour filtrer les enregistrements selon une condition spécifique :
On y retrouve en général des conditions et opérateurs logiques ( a > b, a = b, a < b, AND, OR, NOT...)
SELECT colonne1, colonne2
FROM table
WHERE (a < b AND c = 'chaine') ;
Opérateurs Logiques
- AND : Renvoie un enregistrement si les deux conditions sont vraies.
- OR : Renvoie un enregistrement si au moins une des conditions est vraie.
- NOT : Inverse la condition.
SELECT *
FROM Employes
WHERE salaire > 30000 AND departement = 'Comptabilité';
Tri et Agrégation
Trier les Résultats avec ORDER BY
"ORDER BY" est utilisé pour trier les résultats en ordre ascendant ou descendant.
SELECT colonne1, colonne2
FROM table
ORDER BY colonne1 ASC, colonne2 DESC;
Agréger des Données
- GROUP BY regroupe les enregistrements ayant les mêmes valeurs dans des colonnes spécifiques.
- COUNT, SUM, AVG sont des fonctions d'agrégation.
SELECT COUNT(*), departement
FROM Employes
GROUP BY departement;
Cet exemple compte le nombre d'employés dans chaque département.
Manipulation de données
Insertion de Données (INSERT INTO)
L'opération INSERT est utilisée pour ajouter de nouvelles lignes (enregistrements) à une table.
Syntaxe de Base
INSERT INTO nom_table (colonne1, colonne2, colonne3, ...)
VALUES (valeur1, valeur2, valeur3, ...);
Exemple :
Supposons une table "Employes" avec les colonnes "ID_Employe", "Nom", "Poste", "Salaire", "Date_Debut", "Date_Fin".
INSERT INTO Employes (ID_Employe, Nom, Poste, Salaire)
VALUES (1, 'Alice Dupont', 'Ingénieur', 40000);
Mise à Jour de Données (UPDATE SET)
L'opération UPDATE est utilisée pour modifier les données existantes dans une table.
UPDATE nom_table
SET colonne1 = valeur1, colonne2 = valeur2, ...
WHERE condition;
Exemple
Pour augmenter le salaire d'Alice Dupont de 5000 :
UPDATE Employes
SET Salaire = Salaire + 5000
WHERE Nom = 'Alice Dupont';
Suppression de Données (DELETE FROM)
L'opération DELETE est utilisée pour supprimer des lignes d'une table.
DELETE FROM nom_table WHERE condition;
Exemple
Pour supprimer l'enregistrement d'Alice Dupont :
DELETE FROM Employes
WHERE Nom = 'Alice Dupont';
Attention - Points Importants à Noter
- Prudence avec DELETE et UPDATE : Ces commandes modifient la table de manière permanente.
Soyez particulièrement prudent avec la clause WHERE pour éviter des modifications ou suppressions non désirées.
- Transactions : Dans les systèmes de gestion de base de données qui supportent les transactions,
considérez l'utilisation de BEGIN TRANSACTION avant vos UPDATE ou DELETE, et COMMIT ou ROLLBACK après, selon le résultat souhaité.
- Sauvegarde des Données : Il est toujours bon de faire des sauvegardes régulières de vos données
avant d'effectuer des opérations de mise à jour ou de suppression importantes.
Exercices Pratiques
Exercice 1
- En fonction des questions suivantes, imaginez la table à créer avec les colonnes adaptées (nommage, type de données, contraintes).
- Insertion : Ajoutez trois nouveaux employés dans la table "Employes".
- Mise à Jour : Augmentez le salaire de tous les employés de 10%.
- Suppression : Supprimez tous les employés qui ont quitté l'entreprise l'année dernière.
Exercice 2
Création de Tables
Créez une base de données Ecole et à l'intérieur, créez les tables suivantes :
- Etudiants avec les colonnes ID_Etudiant, Nom, Prenom, DateNaissance, Specialite.
- Professeurs avec les colonnes ID_Professeur, Nom, Prenom, Departement.
Insertion de Données
Insérez des données dans les tables créées :
- Ajoutez au moins cinq enregistrements dans la table Etudiants.
- Ajoutez au moins trois enregistrements dans la table Professeurs.
Requêtes de Sélection (SELECT)
- Sélectionnez tous les étudiants de la spécialité "Informatique".
- Sélectionnez les noms et prénoms de tous les professeurs du département "Mathématiques".
Mise à Jour de Données (UPDATE)
- Mettez à jour la spécialité d'un étudiant.
- Changez le département d'un professeur.
Suppression de Données (DELETE)
- Supprimez un étudiant de la table Etudiants.
- Supprimez un professeur de la table Professeurs.