SQL (Structured Query Language) est un langage de programmation standard utilisé pour gérer et manipuler des bases de données relationnelles. Il permet de créer, modifier, interroger et manipuler des données stockées dans des bases de données. SQL est le langage principal utilisé pour interagir avec des systèmes de gestion de bases de données relationnelles (SGBDR) comme MySQL, PostgreSQL, SQLite, Oracle et Microsoft SQL Server.
Les bases de données relationnelles organisent les données sous forme de tables constituées de colonnes et de lignes (ou enregistrements). SQL permet d'effectuer des opérations telles que la récupération, l'insertion, la mise à jour et la suppression de données.
SQL repose sur plusieurs types de requêtes qui sont classés en différentes catégories selon leur fonction :
CREATE:
Crée un objet dans la base de données.ALTER:
Modifie un objet existant dans la base de données.DROP:
Supprime un objet de la base de données.SELECT:
Récupère des données à partir de la base de données.INSERT:
Insère des données dans une table.UPDATE:
Met à jour des données existantes dans une table.DELETE:
Supprime des données dans une table.GRANT:
Attribue des droits d'accès à un utilisateur.REVOKE:
Retire des droits d'accès à un utilisateur.COMMIT:
Valide les modifications effectuées dans une transaction.ROLLBACK:
Annule les modifications effectuées dans une transaction.SAVEPOINT:
Crée un point de restauration dans une transaction.La commande SELECT
est utilisée pour interroger la base de données et récupérer des informations. La syntaxe de base est la suivante :
SELECT colonne1, colonne2, ...
FROM table
WHERE condition;
Exemple :
SELECT nom, prenom
FROM utilisateurs
WHERE age > 25;
Cela récupère les noms et prénoms des utilisateurs ayant plus de 25 ans.
Sélectionner toutes les colonnes :
SELECT *
FROM utilisateurs;
Cela récupère toutes les colonnes de la table utilisateurs.
La clause WHERE
permet de spécifier des conditions pour affiner les résultats.
Exemple :
SELECT *
FROM produits
WHERE prix > 100;
Cette requête renvoie tous les produits dont le prix est supérieur à 100.
La clause ORDER BY
permet de trier les résultats d'une requête par ordre croissant ou décroissant.
Exemple :
SELECT nom, prix
FROM produits
ORDER BY prix DESC;
Cela trie les produits par prix dans l'ordre décroissant.
La clause LIMIT
permet de restreindre le nombre de résultats retournés par la requête.
Exemple :
SELECT *
FROM utilisateurs
LIMIT 10;
Cela renvoie les 10 premiers utilisateurs dans la table utilisateurs.
La commande INSERT
permet d'ajouter de nouvelles lignes dans une table.
Exemple :
INSERT INTO utilisateurs (nom, prenom, age)
VALUES ('Dupont', 'Jean', 30);
Cela insère un nouvel utilisateur dans la table utilisateurs.
La commande UPDATE
permet de modifier les données existantes dans une table.
Exemple :
UPDATE utilisateurs
SET age = 31
WHERE nom = 'Dupont' AND prenom = 'Jean';
Cela met à jour l'âge de l'utilisateur 'Jean Dupont' à 31 ans.
La commande DELETE
permet de supprimer des lignes dans une table.
Exemple :
DELETE FROM utilisateurs
WHERE age < 18;
Cela supprime tous les utilisateurs ayant un âge inférieur à 18 ans.
Les bases de données relationnelles permettent de définir des relations entre les tables via des clés primaires et clés étrangères. Une clé primaire est un identifiant unique pour chaque ligne dans une table, tandis qu'une clé étrangère établit une relation entre deux tables.
Exemple de relation :
Table utilisateurs :
id_utilisateur nom prenom
1 Dupont Jean
2 Martin Marie
Table commandes :
id_commande id_utilisateur date_commande
101 1 2022-05-01
102 2 2022-05-02
La colonne id_utilisateur
dans la table commandes
est une clé étrangère qui fait référence à la clé primaire id_utilisateur
dans la table utilisateurs
.
Les jointures permettent de combiner les données de plusieurs tables en une seule requête. Voici les types de jointures les plus courants :
Exemple d'INNER JOIN
:
SELECT utilisateurs.nom, utilisateurs.prenom, commandes.date_commande
FROM utilisateurs
INNER JOIN commandes ON utilisateurs.id_utilisateur = commandes.id_utilisateur;
Cela renvoie les utilisateurs avec leurs commandes, mais uniquement pour ceux ayant effectué une commande.
SQL dispose de plusieurs fonctions intégrées qui permettent de manipuler les données de manière plus avancée.
Exemple :
SELECT COUNT(*) AS nombre_utilisateurs
FROM utilisateurs;
Cela renvoie le nombre total d'utilisateurs dans la table.
Exemple :
SELECT CONCAT(nom, ' ', prenom) AS nom_complet
FROM utilisateurs;
Cela renvoie le nom complet de chaque utilisateur.
SQL est un langage puissant et essentiel pour la gestion des bases de données relationnelles. Il permet aux utilisateurs de manipuler efficacement les données, de les interroger selon des critères spécifiques et de maintenir des relations entre les différentes entités stockées. Grâce à son utilisation généralisée et à sa flexibilité, SQL reste une compétence essentielle pour tout professionnel de la gestion de données.