loader image

La boite à ITees

Illustration d'une ville futuriste avec des buildings, au centre desquels le logo SQL est affiché dans un rond bleu lumineux.

Tutoriels SQL

La boite à ITees > Tutoriels > Tutoriels SQL

Tutoriel SQL

Logo d'une pile de ronds bleus avec l'inscription SQL et Structured Query Language.

Bases de Données et Tables

Création d’une Base de Données
CREATE DATABASE MaBaseDeDonnees;
    • CREATE DATABASE MaBaseDeDonnees; : Cette commande crée une nouvelle base de données nommée MaBaseDeDonnees. Les bases de données sont des conteneurs pour les tables et d’autres objets comme les vues et les procédures stockées.

 

Sélection de la Base de Données
USE MaBaseDeDonnees;
    • USE MaBaseDeDonnees; : Cette commande sélectionne la base de données MaBaseDeDonnees pour que toutes les opérations suivantes soient effectuées sur cette base de données.

 

Création d’une Table
CREATE TABLE Utilisateurs (
    ID INT PRIMARY KEY AUTO_INCREMENT,
    Nom VARCHAR(100),
    Prenom VARCHAR(100),
    Email VARCHAR(100),
    Age INT
);
    • CREATE TABLE Utilisateurs : Crée une nouvelle table appelée Utilisateurs.
    • ID INT PRIMARY KEY AUTO_INCREMENT : Crée une colonne ID de type entier (INT), qui sera la clé primaire (PRIMARY KEY) et s’auto-incrémente à chaque nouvel enregistrement (AUTO_INCREMENT).
    • Nom VARCHAR(100), Prenom VARCHAR(100), Email VARCHAR(100), Age INT : Crée des colonnes pour le nom, le prénom, l’email (toutes de type chaîne de caractères avec une longueur maximale de 100) et l’âge (de type entier).

Opérations CRUD

Illustration d'un petit robot mignon en métal avec des yeux bleus, des détails métalliques sur le front, les antennes, les épaules et les bras. Son écran sur la poitrine affiche le texte "SQL" à côté du logo SQL.

CRUD signifie Create, Read, Update, Delete. Ce sont les quatre opérations de base pour gérer les données dans une base de données.

 

Insérer des Données (Create)
INSERT INTO Utilisateurs (Nom, Prenom, Email, Age) VALUES ('Dupont', 'Jean', 'jean.dupont@example.com', 30);
INSERT INTO Utilisateurs (Nom, Prenom, Email, Age) VALUES ('Durand', 'Marie', 'marie.durand@example.com', 25);
    • INSERT INTO Utilisateurs (Nom, Prenom, Email, Age) : Spécifie dans quelle table (Utilisateurs) et dans quelles colonnes (Nom, Prenom, Email, Age) les données seront insérées.
    • VALUES ('Dupont', 'Jean', 'jean.dupont@example.com', 30) : Les valeurs à insérer dans les colonnes respectives.

 

Lire des Données (Read)
SELECT * FROM Utilisateurs;
SELECT Nom, Prenom FROM Utilisateurs WHERE Age > 25;
    • SELECT * FROM Utilisateurs; : Sélectionne toutes les colonnes de la table Utilisateurs.
    • SELECT Nom, Prenom FROM Utilisateurs WHERE Age > 25; : Sélectionne uniquement les colonnes Nom et Prenom pour les utilisateurs dont l’âge est supérieur à 25.

 

Mettre à Jour des Données (Update)
UPDATE Utilisateurs SET Age = 31 WHERE Nom = 'Dupont' AND Prenom = 'Jean';
    • UPDATE Utilisateurs SET Age = 31 : Met à jour la colonne Age à 31 dans la table Utilisateurs.
    • WHERE Nom = 'Dupont' AND Prenom = 'Jean'; : Spécifie la condition pour mettre à jour uniquement l’utilisateur nommé Jean Dupont.

 

Supprimer des Données (Delete)
DELETE FROM Utilisateurs WHERE Nom = 'Durand' AND Prenom = 'Marie';
    • DELETE FROM Utilisateurs : Supprime des lignes de la table Utilisateurs.
    • WHERE Nom = 'Durand' AND Prenom = 'Marie'; : Spécifie la condition pour supprimer uniquement l’utilisateur nommé Marie Durand.

 

Requêtes Avancées

Illustration d'un épais robot gris avec des yeux bleus lumineux et un rond bleu lumineux au centre de sa poitrine, appuyé sur cinq caisses portant l'inscription SQL.
 
Filtrage avec WHERE
SELECT * FROM Utilisateurs WHERE Age > 25;
    • WHERE Age > 25 : Filtre les résultats pour sélectionner uniquement les utilisateurs dont l’âge est supérieur à 25.

 

Tri des Résultats avec ORDER BY
SELECT * FROM Utilisateurs ORDER BY Age DESC;
    • ORDER BY Age DESC : Trie les résultats par la colonne Age en ordre décroissant (du plus grand au plus petit).

 

Limitation des Résultats avec LIMIT
SELECT * FROM Utilisateurs LIMIT 2;
    • LIMIT 2 : Limite le nombre de résultats retournés à 2.

 

Agrégation avec GROUP BY et Fonctions Agrégées
SELECT Age, COUNT(*) AS Nombre FROM Utilisateurs GROUP BY Age;
    • GROUP BY Age : Groupe les résultats par la colonne Age.
    • COUNT(*) AS Nombre : Compte le nombre de lignes dans chaque groupe et nomme cette colonne comptée Nombre.

 

Jointures (JOINS)

Les jointures permettent de combiner des lignes de deux tables ou plus, en fonction d’une colonne commune entre elles.

Création de Tables pour la Jointure

CREATE TABLE Commandes (
    ID INT PRIMARY KEY AUTO_INCREMENT,
    UtilisateurID INT,
    Produit VARCHAR(100),
    Montant DECIMAL(10, 2),
    FOREIGN KEY (UtilisateurID) REFERENCES Utilisateurs(ID)
);
    • CREATE TABLE Commandes : Crée une nouvelle table appelée Commandes.
    • ID INT PRIMARY KEY AUTO_INCREMENT : Colonne ID auto-incrémentée et clé primaire.
    • UtilisateurID INT : Colonne qui stocke l’ID de l’utilisateur (clé étrangère).
    • Produit VARCHAR(100) : Colonne qui stocke le nom du produit.
    • Montant DECIMAL(10, 2) : Colonne qui stocke le montant avec une précision de 10 chiffres et 2 décimales.
    • FOREIGN KEY (UtilisateurID) REFERENCES Utilisateurs(ID) : Définit UtilisateurID comme une clé étrangère référant à la colonne ID de la table Utilisateurs.

 

Insérer des Données dans la Table Commandes
INSERT INTO Commandes (UtilisateurID, Produit, Montant) VALUES (1, 'Ordinateur', 999.99);
INSERT INTO Commandes (UtilisateurID, Produit, Montant) VALUES (2, 'Téléphone', 499.99);
    • INSERT INTO Commandes (UtilisateurID, Produit, Montant) : Spécifie dans quelle table (Commandes) et dans quelles colonnes (UtilisateurID, Produit, Montant) les données seront insérées.
    • VALUES (1, 'Ordinateur', 999.99) : Les valeurs à insérer dans les colonnes respectives.

 

Requête avec une Jointure Interne (INNER JOIN)
SELECT Utilisateurs.Nom, Utilisateurs.Prenom, Commandes.Produit, Commandes.Montant
FROM Utilisateurs
INNER JOIN Commandes ON Utilisateurs.ID = Commandes.UtilisateurID;
    • INNER JOIN combine les lignes des tables Utilisateurs et Commandes où les valeurs de UtilisateurID dans Commandes correspondent aux valeurs de ID dans Utilisateurs.
    • SELECT Utilisateurs.Nom, Utilisateurs.Prenom, Commandes.Produit, Commandes.Montant : Sélectionne les colonnes Nom et Prenom de la table Utilisateurs, et Produit et Montant de la table Commandes.

 

Conclusion

 

  • Vous avez maintenant une vue d’ensemble des bases de SQL, y compris la création et la gestion des bases de données et des tables, les opérations CRUD, et les requêtes avancées. SQL est un outil puissant pour manipuler des bases de données relationnelles, et maîtriser ses concepts de base est essentiel pour toute personne travaillant avec des données.

     

    Ressources Supplémentaires

     

    Pour aller plus loin et approfondir vos connaissances en SQL, voici quelques ressources utiles :