
SQL (Structured Query Language) langage qui a été créé pour dialoguer avec des bases de données. Les commandes SQL peuvent être utilisées pour rechercher dans la base de données et pour effectuer d’autres fonctions telles que la création de tables, l’ajout de données aux tables, la modification de données et la suppression de tables.
Ce cours permet d’appréhender l’ensemble des éléments nécessaires à la réalisation des requêtes SQL. Chaque commande SQL répertoriée ci-dessous dispose d’une fiche détaillée permettant de comprendre comment l’utiliser dans une requête.
Table des matières
SELECT et FROM
SELECT détermine les colonnes de données à afficher dans les résultats. Il existe également des options que vous pouvez appliquer pour afficher des données qui ne sont pas une colonne de tableau.
SELECT nom_colonnes /* les noms des colonnes sont séparés par des virgules */
FROM nom_table ;
Code SQL Simple :
SELECT IdUsers, Workeurs
FROM UtilisateursWorkytCours;
Code SQL Access :
SELECT UtilisateursWorkytCours.IdUsers, UtilisateursWorkytCours.Workeurs
FROM UtilisateursWorkytCours;

WHERE
Nous avons ajouté une colonne « CoursVues » sur notre table UtilisateursWorkytCours, car nous voulons récompenser nos utilisateurs qui ont lus plus de 10 cours. Comment faire ?
IdUsers | Workeurs | Prénom | Nom | Date | CoursVues |
---|---|---|---|---|---|
1 | Natoons | Nadir | 25/12/2020 | 20 | |
2 | Tradur | Julien | Marchand | 24/03/2022 | 30 |
3 | SophieR | Sophie | Renard | 24/03/2022 | 1 |
4 | Dodone | David | Pautier | 27/03/2022 | 0 |
5 | Sebor | Julien | Sebor | 27/03/2022 | 10 |
6 | Grrr69 | Louis | Marchand | 14/04/2022 | 23 |
7 | Rachoud | Rachid | Eldar | 05/05/2022 | 10 |
8 | DoubleC | Chance | Chamberlin | 07/05/2022 | 5 |
WHERE permet de faire une sélection : il précise la condition que les lignes doivent respecter pour être conservées dans la table résultat.
SELECT nom_colonnes
FROM nom_table
WHERE la_condition ;
SELECT UtilisateursWorkytCours.CoursVues, UtilisateursWorkytCours.Workeurs
FROM UtilisateursWorkytCours
WHERE (UtilisateursWorkytCours.CoursVues)>10;

Comparaisons de base
Les tests autorisés en SQL sont les conditions les plus basiques :
- a < b ;
- a > b ;
- a <= b ;
- a >= b ;
- a = b ;
- a <> b.
Nous pouvons aussi intégrés les opérateurs booléens AND
, OR
, NOT
et XOR
.
Les comparaisons vues précédemment ne vérifient pas si le contenu d’une colonne est NULL ou non.
- IS NULL ;
- IS NOT NULL.
A titre d’exemple, la requête suivante retourne tous les utilisateurs dont les noms sont connus et s’ils ont lu plus de dix cours :
SELECT UtilisateursWorkytCours.CoursVues, UtilisateursWorkytCours.Workeurs
FROM UtilisateursWorkytCours
WHERE (UtilisateursWorkytCours.CoursVues)>10 AND (UtilisateursWorkytCours.Nom) IS NOT NULL;
CoursVues | Workeurs |
---|---|
30 | Tradur |
23 | Grrr69 |
Condition intervallaire
Il est aussi possible de vérifier si tel attribut est compris dans un intervalle bien précis. Pour cela, la condition s’écrit comme ceci :
SELECT ...
FROM ...
WHERE attribut BETWEEN minimum AND maximum ;
Nous souhaitons que la requête suivante retourne tous les utilisateurs qui sont enregistrés sur le site en mars 2022.
SELECT *
FROM UtilisateursWorkytCours
WHERE UtilisateursWorkytCours.Date BETWEEN format(01/03/2022,'dd/mm/yyyy') AND format(31/03/2022,'dd/mm/yyyy');
IdUsers | Workeurs | Prénom | Nom | Date | CoursVues |
---|---|---|---|---|---|
2 | Tradur | Julien | Marchand | 24/03/2022 | 30 |
3 | SophieR | Sophie | Renard | 24/03/2022 | 1 |
4 | Dodone | David | Pautier | 27/03/2022 | 0 |
5 | Sebor | Julien | Sebor | 27/03/2022 | 10 |
ORDER BY
Il est possible de demander au SGBD de trier les données dans le tableau des résultats, par ordre croissant ou décroissant. Pour ce faire, vous devez utiliser la déclaration ORDER BY, juste sous le WHERE.
- ASC (Ascendant).
- DESC (Descendant).
Nous voulons mettre en place sur notre site, un système de leaderboard (classement). L’objectif est de valoriser nos utilisateurs qui lisent souvent nos cours.
SELECT UtilisateursWorkytCours.CoursVues, UtilisateursWorkytCours.Workeurs
FROM UtilisateursWorkytCours
ORDER BY UtilisateursWorkytCours.CoursVues DESC;
CoursVues | Workeurs |
---|---|
30 | Tradur |
23 | Grrr69 |
20 | Natoons |
10 | Rachoud |
10 | Sebor |
5 | DoubleC |
1 | SophieR |
0 | Dodone |
INSERT
INSERT sert à ajouter des lignes dans une table. (écrire une nouvelle entrée) :
INSERT INTO nom_table VALUES ( liste des valeurs de chaque attribut, séparés par des virgules )
DELETE
DELETE permet de supprimer des lignes dans une table.
Il faut faire très attention. Vous pouvez supprimer tous les enregistrements de la table ou seulement quelques-uns. Utilisez le WHERE pour spécifier les enregistrements que vous souhaitez supprimer. La syntaxe est :
DELETE FROM nom_table
WHERE condition;
Nous voulons bannir définitivement DoubleC :
DELETE FROM UtilisateursWorkytCours
WHERE UtilisateursWorkytCours.IdUsers= 8;
IdUsers | Workeurs | Prénom | Nom | Date | CoursVues |
---|---|---|---|---|---|
6 | Grrr69 | Louis | Marchand | 14/04/2022 | 23 |
7 | Rachoud | Rachid | Eldar | 05/05/2022 | 10 |
#Supprimé | #Supprimé | #Supprimé |
UPDATE
Pour mettre à jour un enregistrement dans une table, utilisez WHERE pour spécifier les enregistrements que vous souhaitez mettre à jour. Il est possible de mettre à jour une ou plusieurs colonnes à la fois. La syntaxe est :
UPDATE nom_table
SET colonne1= valeur1,
colonne2= valeur2, ...
WHERE condition;
Voici un exemple mettant à jour le Nom d’utilisateur « Grr69 » par « Lolo69 » :
UPDATE UtilisateursWorkytCours
SET UtilisateursWorkytCours.Workeurs = "Lolo69"
WHERE IdUsers = 6;
IdUsers | Workeurs | Prénom | Nom | Date | CoursVues |
---|---|---|---|---|---|
6 | Lolo69 | Louis | Marchand | 14/04/2022 | 23 |
Aucun commentaire pour ce cours ! Soyez le premier.