Numérique et Sciences Informatiques > Préparation aux Épreuves du Baccalauréat NSI > Révisions Thématiques > Bases de données
Révision Bases de Données : SQL - Interrogation et Manipulation
Apprenez à interroger et manipuler des bases de données avec SQL. Ce guide couvre les commandes SELECT, INSERT, UPDATE, DELETE avec des exemples et des exercices pour le Bac NSI.
Introduction au SQL
SQL (Structured Query Language) est un langage standardisé utilisé pour communiquer avec les systèmes de gestion de bases de données relationnelles (SGBDR). Il permet de définir, manipuler et interroger les données stockées dans une base de données. SQL est un outil essentiel pour les développeurs, les administrateurs de bases de données et les analystes de données. Sans SQL, il serait difficile d'extraire des informations utiles, de mettre à jour les données ou de maintenir l'intégrité d'une base de données. SQL est un langage déclaratif, ce qui signifie que vous décrivez ce que vous voulez obtenir, plutôt que de spécifier comment l'obtenir. Le SGBDR se charge ensuite d'optimiser l'exécution de la requête.
Les principales fonctions de SQL sont :
La commande SELECT
La commande SELECT
est utilisée pour interroger les données d'une ou plusieurs tables. Elle permet de spécifier les colonnes à extraire, les conditions de filtrage et les critères de tri. La syntaxe de base de la commande SELECT
est la suivante :SELECT colonne1, colonne2, ... FROM table WHERE condition ORDER BY colonne;
SELECT colonne1, colonne2, ...
spécifie les colonnes à extraire. Vous pouvez utiliser SELECT *
pour extraire toutes les colonnes.FROM table
spécifie la table à partir de laquelle extraire les données.WHERE condition
spécifie une condition de filtrage pour ne sélectionner que les lignes qui satisfont cette condition.ORDER BY colonne
spécifie une colonne pour trier les résultats. Vous pouvez utiliser ASC
pour un tri ascendant (par défaut) ou DESC
pour un tri descendant.
Exemples :SELECT Nom, Prénom FROM Etudiants;
SELECT * FROM Etudiants WHERE Age > 20;
SELECT * FROM Etudiants ORDER BY Nom ASC;
Les commandes INSERT, UPDATE et DELETE
Ces commandes permettent de modifier les données stockées dans une base de données.INSERT
permet d'insérer de nouvelles lignes dans une table. La syntaxe de base est la suivante:INSERT INTO table (colonne1, colonne2, ...) VALUES (valeur1, valeur2, ...);
Exemple: Insérer un nouvel étudiant dans la table 'Etudiants':INSERT INTO Etudiants (NuméroEtudiant, Nom, Prénom, DateNaissance) VALUES ('12345', 'Dupont', 'Jean', '2002-05-15');
UPDATE
permet de modifier les valeurs des colonnes pour les lignes existantes dans une table. La syntaxe de base est la suivante:UPDATE table SET colonne1 = valeur1, colonne2 = valeur2, ... WHERE condition;
Il est crucial d'utiliser la clause WHERE
pour spécifier quelles lignes doivent être mises à jour. Sinon, toutes les lignes de la table seront modifiées!
Exemple: Mettre à jour l'âge d'un étudiant dans la table 'Etudiants':UPDATE Etudiants SET Age = 21 WHERE NuméroEtudiant = '12345';
DELETE
permet de supprimer des lignes d'une table. La syntaxe de base est la suivante:DELETE FROM table WHERE condition;
Comme pour la commande UPDATE
, il est crucial d'utiliser la clause WHERE
pour spécifier quelles lignes doivent être supprimées. Sinon, toutes les lignes de la table seront supprimées!
Exemple: Supprimer un étudiant de la table 'Etudiants':DELETE FROM Etudiants WHERE NuméroEtudiant = '12345';
Jointures en SQL
En SQL, les jointures permettent de combiner les données de deux ou plusieurs tables en fonction d'une condition de liaison entre les colonnes. Il existe plusieurs types de jointures :LEFT JOIN
) et les lignes correspondantes de la table de droite. Si aucune correspondance n'est trouvée dans la table de droite, les colonnes de cette table seront remplies avec NULL
.NULL
.NULL
.
La syntaxe générale pour une jointure est la suivante:SELECT colonnes FROM table1 JOIN table2 ON table1.colonne = table2.colonne;
Exemple (INNER JOIN) :
Afficher les noms des étudiants et les noms des cours auxquels ils sont inscrits :SELECT Etudiants.Nom, Cours.NomCours FROM Etudiants INNER JOIN Inscriptions ON Etudiants.NuméroEtudiant = Inscriptions.NuméroEtudiant INNER JOIN Cours ON Inscriptions.CodeCours = Cours.CodeCours;
Ce qu'il faut retenir
FAQ
-
Quelle est la différence entre WHERE et HAVING ?
WHERE
est utilisé pour filtrer les lignes avant le regroupement (GROUP BY), tandis queHAVING
est utilisé pour filtrer les groupes après le regroupement. -
Comment éviter la suppression accidentelle de toutes les données d'une table ?
Toujours utiliser la clauseWHERE
avec les commandesUPDATE
etDELETE
pour spécifier les lignes à modifier ou à supprimer. -
Quelle est l'utilité de GROUP BY?
La clauseGROUP BY
est utilisée pour regrouper les lignes qui ont la même valeur dans une ou plusieurs colonnes. Elle est souvent utilisée en conjonction avec des fonctions d'agrégation commeCOUNT
,SUM
,AVG
,MIN
, etMAX
pour calculer des statistiques pour chaque groupe.