1.
Requête d’insertion des données
Pour insérer un élément dans une table d’une base de données, on utilise le mot-clé INSERT
INTO et sa syntaxe est la suivante :
INSERT INTO nom table (champ1, champ2 …champN)
VALUES ("valchamp1", "valchamp2", … "valchampN") ;
Application:Écrire la requête permettant d’ajouter dans la table « Élève »,l’élève ayant les
informations suivantes : TESP2, NYEKI, 20, Masculin.
Solution :
INSERT INTO Élève (matricule, nom, sexe, âge)
VALUES ("TESP2", "NYEKI", "20", "Masculin") ;
2. Modification des données
Pour modifier les données dans une table, on utilise le mot-clé UPDATE.
Sa syntaxe est la suivante :
UPDATE Nom_table
SET champ1=valeur1, champ2=valeur2, …, champN=valeurN
WHERE condition ;
Application : Écrire la requête permettant de modifier l’âge de l’élève NYEKI qui a plutôt
22ans.
Solution :
UPDATE Élève
SET âge="22"
WHERE matricule="TESP2" ;
3. Suppression d’enregistrements
Pour supprimer un enregistrement, on utilise le mot clé DELETE.
Sa syntaxe est la suivante :
DELETE FROM nom_table
WHERE condition;
Application : Écrire la requête permettant de supprimer l’élève NYEKI de la base de données.
Solution: DELETE FROM Élève WHERE matricule="TESP2 ";
4. Sélection des données
Pour afficher (interroger ou sélectionner) les données d’une base de données, on utilise le mot
clé SELECT.
SELECT { */attributs[, ...] }FROM nom_table [, ...][ WHERE condition] ;
- La clause SELECT permet de spécifier les attributs que l’on désire voir apparaître dans
le résultat de la requête. Le caractère étoile (*) permet de récupérer tous les attributs de
la table générée par la clause FROM de requête.
- La clause FROM spécifie les tables sur lesquelles porte la requête.
- La clause WHERE qui est facultative, indique une condition que doivent respecter les n-
uplets sélectionnés. Nous pouvons utiliser les opérateurs tels que : =, <, >, AND, OR,
LIKE, BETWEEN <=, >=, etc.
- La clause GROUP BY permet de définir des groupes.
- La clause ORDER BY permet de trier les n-uplets du résultat par ordre croissant ou
décroissant. Pour cela, on utilise les mots-clésASC (pour trier par ordre croissant) et
DESC (pour trier par ordre décroissant). Par défaut, les résultats sont classés par ordre
ascendant ou croissant.
a) Sélection des données sans condition (ou projection)
. Sa syntaxe est la suivante : SELECT liste_champ FROM nom_table ;
Lorsqu’on veut sélectionner toutes les colonnes d’une table, nous n’avons pas besoin de
lister les colonnes de la table. Pour cela, nous devons remplacer la liste des colonnes par le
symbole*(étoile). Sa syntaxe est la suivante : SELECT*FROMnom_table ;
Pour sélectionner des valeurs distinctes ou sans doublons, nous devons utiliser le mot-clé «
DISTINCT ». Sa syntaxe est la suivante : SELECT DISTINCT liste_champ FROM
nom_table ;
Applications:
- SELECT Nom, Age FROM Élève ; permet d’afficher uniquement les noms et les âges
des élèves.
- SELECT * FROM Élève ; permet d’afficher toute la table élève.
- SELECT Matricule FROM Élève; permet d’afficher les matricules de la table Élève.
On constate qu’il existe des doublons dans cette liste de matricule. Pour afficher le
résultat sans doublon, nous devons écrire SELECT DISTINCT Matricule FROM
Élève;
a) Sélection des données selon une condition (ou restriction)
Sa syntaxe est la suivante : SELECT liste_champ FROM nom_table WHERE condition ;
Application : Écrire la requête permettant d’afficher sans doublon le nom des élèves
commençant par la lettre « A » et dont l’âge est supérieur à 16 ans.
Solution:SELECT DISTINCT Nom, Age FROM Élève WHERE Nom LIKE "A%" AND
Age >=16;
c) Tri des données
On parle de tri des données lorsque les données sélectionnées sont rangées soit dans l’ordre
croissant, soit dans l’ordre décroissant. Sa syntaxe est la suivante : SELECT liste_champ
FROM nom_tableORDER BY nom ASC ; ce qui signifie qu’on affiche les noms des élèves
dans l’ordre croissant alphabétique. Pour afficher dans l’ordre décroissant, on utilise le mot-clé
DESC.
Exemple : Écrire la requête qui permet d’afficher les noms et les âges des élèves par ordre
décroissant.
Solution: SELECT Nom, Age FROM ÉlèveORDER BY Age DESC;