Création d’une Base de Données
Sélection de la Base de Données
Mettre à Jour des Données (Update)
Supprimer des Données (Delete)
Tri des Résultats avec ORDER BY
Limitation des Résultats avec LIMIT
Agrégation avec GROUP BY
et Fonctions Agrégées
Insérer des Données dans la Table Commandes
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.
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.
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).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.
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.
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.
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.
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.
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.
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).
LIMIT
SELECT * FROM Utilisateurs LIMIT 2;
LIMIT 2
: Limite le nombre de résultats retournés à 2.
GROUP BY
et Fonctions AgrégéesSELECT 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
.
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
.
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.
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
.
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.
Pour aller plus loin et approfondir vos connaissances en SQL, voici quelques ressources utiles :