0% ont trouvé ce document utile (0 vote)
5 vues12 pages

Guide SQL Complet

SQL (Structured Query Language) est un langage standardisé pour gérer et manipuler des bases de données relationnelles, permettant d'interroger, insérer, modifier et supprimer des données. Les concepts fondamentaux incluent les tables, les clés primaires et les commandes essentielles comme SELECT, INSERT, UPDATE et DELETE. Le guide couvre également des fonctionnalités avancées telles que les jointures, les fonctions d'agrégation et les bonnes pratiques pour une utilisation efficace de SQL.

Transféré par

houessouc03
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues12 pages

Guide SQL Complet

SQL (Structured Query Language) est un langage standardisé pour gérer et manipuler des bases de données relationnelles, permettant d'interroger, insérer, modifier et supprimer des données. Les concepts fondamentaux incluent les tables, les clés primaires et les commandes essentielles comme SELECT, INSERT, UPDATE et DELETE. Le guide couvre également des fonctionnalités avancées telles que les jointures, les fonctions d'agrégation et les bonnes pratiques pour une utilisation efficace de SQL.

Transféré par

houessouc03
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

GUIDE COMPLET

SQL
Structured Query Language
Le langage des bases de données relationnelles

Guide SQL — Langage des bases de données relationnelles


1. Qu'est-ce que SQL ?
SQL (Structured Query Language) est un langage informatique standardisé utilisé pour gérer
et manipuler les bases de données relationnelles. Créé dans les années 1970 par IBM, il est
aujourd'hui le langage universel pour interagir avec des systèmes comme MySQL, PostgreSQL,
SQLite, SQL Server ou Oracle.

📌 Analogie simple
Imaginez une base de données comme un classeur Excel géant. SQL est le langage qui vous
permet de demander : "Montre-moi toutes les factures de janvier supérieures à 500 €" — et
d'obtenir exactement ces données, triées et filtrées.

1.1 À quoi sert SQL ?


• Interroger des données : Poser des questions à la base de données (chercher, filtrer,
trier)
• Insérer des données : Ajouter de nouveaux enregistrements dans une table
• Modifier des données : Mettre à jour des valeurs existantes
• Supprimer des données : Effacer des enregistrements inutiles
• Créer des structures : Concevoir des tables, des index, des relations

2. Les concepts fondamentaux

2.1 La table
Une table est le cœur d'une base de données relationnelle. C'est un tableau organisé en
colonnes (champs) et en lignes (enregistrements).

Exemple — table CLIENTS :

id nom prenom email ville


1 Dupont Marie marie@[Link] Paris
2 Martin Jean jean@[Link] Lyon
3 Bernard Sophie sophie@[Link] Marseille
4 Leblanc Paul paul@[Link] Paris

Guide SQL — Langage des bases de données relationnelles


2.2 La clé primaire (PRIMARY KEY)
Chaque table possède généralement une clé primaire : un identifiant unique pour chaque ligne.
Dans l'exemple ci-dessus, le champ id est la clé primaire — deux clients ne peuvent jamais
avoir le même id.

3. Les commandes essentielles

3.1 SELECT — Lire des données


SELECT est la commande la plus utilisée. Elle permet d'interroger une table et d'afficher les
résultats.

Syntaxe de base
SELECT colonne1, colonne2
FROM nom_table
WHERE condition
ORDER BY colonne ASC/DESC;

Exemple 1 — Afficher tous les clients


SELECT * FROM clients;
Le symbole * signifie « toutes les colonnes ». Ce qui donne :

id nom prenom email ville


1 Dupont Marie marie@[Link] Paris
2 Martin Jean jean@[Link] Lyon
3 Bernard Sophie sophie@[Link] Marseille
4 Leblanc Paul paul@[Link] Paris

Exemple 2 — Filtrer avec WHERE


SELECT nom, prenom, ville
FROM clients
WHERE ville = 'Paris';
Résultat — seulement les clients parisiens :

nom prenom ville


Dupont Marie Paris
Leblanc Paul Paris

Guide SQL — Langage des bases de données relationnelles


Exemple 3 — Trier les résultats avec ORDER BY
SELECT nom, prenom
FROM clients
ORDER BY nom ASC;
Les clients sont retournés par ordre alphabétique du nom.

3.2 INSERT — Ajouter des données


INSERT INTO permet d'ajouter une nouvelle ligne dans une table.

INSERT INTO clients (nom, prenom, email, ville)


VALUES ('Durand', 'Alice', 'alice@[Link]', 'Bordeaux');

✅ Résultat
Un nouvel enregistrement est ajouté : id=5, Durand Alice, Bordeaux. L'id est souvent généré
automatiquement (AUTO_INCREMENT).

3.3 UPDATE — Modifier des données


UPDATE permet de modifier des valeurs existantes. Toujours utiliser WHERE pour cibler
uniquement les lignes souhaitées !

UPDATE clients
SET ville = 'Toulouse'
WHERE id = 2;

⚠️Attention !
Sans clause WHERE, TOUS les enregistrements seraient modifiés ! Toujours vérifier votre
condition avant d'exécuter un UPDATE.

3.4 DELETE — Supprimer des données


DELETE FROM supprime des lignes d'une table.

DELETE FROM clients


WHERE id = 3;

⚠️Attention !
Comme pour UPDATE, sans WHERE vous supprimeriez TOUTE la table ! Cette action est
irréversible.

Guide SQL — Langage des bases de données relationnelles


Guide SQL — Langage des bases de données relationnelles
4. Filtres et conditions avancées

4.1 Les opérateurs de comparaison

Opérateur Signification Exemple


= Égal à WHERE ville = 'Paris'
<> ou != Différent de WHERE ville <> 'Lyon'
> Supérieur à WHERE age > 30
< Inférieur à WHERE prix < 100
>= Supérieur ou égal WHERE stock >= 10
<= Inférieur ou égal WHERE note <= 5

4.2 LIKE — Recherche par motif


LIKE permet de chercher un motif dans du texte. Le symbole % remplace n'importe quelle suite
de caractères.

-- Clients dont le nom commence par 'Du'


SELECT * FROM clients WHERE nom LIKE 'Du%';

-- Clients dont l'email contient 'gmail'


SELECT * FROM clients WHERE email LIKE '%gmail%';

4.3 AND, OR, NOT — Combiner les conditions


-- Clients de Paris ET dont le prénom commence par 'M'
SELECT * FROM clients
WHERE ville = 'Paris' AND prenom LIKE 'M%';

-- Clients de Paris OU de Lyon


SELECT * FROM clients
WHERE ville = 'Paris' OR ville = 'Lyon';

4.4 IN — Liste de valeurs


IN est une alternative élégante à plusieurs conditions OR :
SELECT * FROM clients
WHERE ville IN ('Paris', 'Lyon', 'Marseille');

Guide SQL — Langage des bases de données relationnelles


4.5 BETWEEN — Intervalle de valeurs
-- Commandes entre deux dates
SELECT * FROM commandes
WHERE date_commande BETWEEN '2024-01-01' AND '2024-12-31';

5. Fonctions d'agrégation
Les fonctions d'agrégation effectuent des calculs sur un ensemble de lignes et retournent un
résultat unique.

Fonction Description Exemple


COUNT(*) Compte le nombre de lignes SELECT COUNT(*) FROM
clients
SUM(col) Calcule la somme SELECT SUM(montant) FROM
commandes
AVG(col) Calcule la moyenne SELECT AVG(note) FROM avis
MIN(col) Retourne le minimum SELECT MIN(prix) FROM
produits
MAX(col) Retourne le maximum SELECT MAX(prix) FROM
produits

5.1 Exemple complet avec agrégation


-- Nombre de clients par ville
SELECT ville, COUNT(*) AS nombre_clients
FROM clients
GROUP BY ville
ORDER BY nombre_clients DESC;

ville nombre_clients
Paris 2
Lyon 1
Marseille 1

5.2 HAVING — Filtrer après GROUP BY


HAVING fonctionne comme WHERE, mais s'applique après le regroupement :
-- Villes avec plus de 5 clients
SELECT ville, COUNT(*) AS nb
FROM clients
GROUP BY ville

Guide SQL — Langage des bases de données relationnelles


HAVING nb > 5;

Guide SQL — Langage des bases de données relationnelles


6. Les jointures (JOIN)
Les jointures permettent de combiner des données de plusieurs tables. C'est l'une des
fonctionnalités les plus puissantes de SQL.

6.1 INNER JOIN — Correspondance stricte


Retourne uniquement les lignes qui ont une correspondance dans les deux tables.

Tables utilisées dans les exemples :

commande_id client_id produit montant


101 1 Laptop 1200
102 2 Souris 25
103 1 Clavier 80

SELECT [Link], [Link], [Link], [Link]


FROM clients
INNER JOIN commandes ON [Link] = commandes.client_id;

nom prenom produit montant


Dupont Marie Laptop 1200
Martin Jean Souris 25
Dupont Marie Clavier 80

6.2 LEFT JOIN — Tout de la table gauche


Retourne toutes les lignes de la table de gauche, même si elles n'ont pas de correspondance à
droite.
SELECT [Link], [Link]
FROM clients
LEFT JOIN commandes ON [Link] = commandes.client_id;

💡 Cas d'usage
Utile pour trouver les clients qui n'ont jamais passé de commande : les colonnes de
'commandes' seront NULL pour ces clients.

Guide SQL — Langage des bases de données relationnelles


7. Créer et gérer des structures

7.1 CREATE TABLE — Créer une table


CREATE TABLE produits (
id INT PRIMARY KEY AUTO_INCREMENT,
nom VARCHAR(100) NOT NULL,
prix DECIMAL(10, 2) NOT NULL,
stock INT DEFAULT 0,
categorie VARCHAR(50),
date_ajout DATE
);

Type SQL Description Exemple


INT Nombre entier 42, -5, 1000
VARCHAR(n) Texte jusqu'à n caractères 'Bonjour'
DECIMAL(p,s) Nombre décimal 19.99
DATE Date (AAAA-MM-JJ) '2024-03-15'
BOOLEAN Vrai ou Faux TRUE / FALSE
TEXT Texte long Description longue

7.2 ALTER TABLE — Modifier une table


-- Ajouter une colonne
ALTER TABLE produits ADD COLUMN description TEXT;

-- Modifier le type d'une colonne


ALTER TABLE produits MODIFY COLUMN prix DECIMAL(12, 2);

-- Supprimer une colonne


ALTER TABLE produits DROP COLUMN date_ajout;

7.3 DROP TABLE — Supprimer une table


DROP TABLE IF EXISTS produits;

⚠️Attention !
DROP TABLE supprime définitivement la table ET toutes ses données. Cette opération est
irréversible.

Guide SQL — Langage des bases de données relationnelles


8. Récapitulatif des commandes SQL

Catégorie Commande Rôle


Lecture SELECT Interroger des données
Écriture INSERT INTO Ajouter des enregistrements
Écriture UPDATE ... SET Modifier des enregistrements
Écriture DELETE FROM Supprimer des enregistrements
Structure CREATE TABLE Créer une nouvelle table
Structure ALTER TABLE Modifier la structure d'une table
Structure DROP TABLE Supprimer une table
Filtre WHERE Condition de filtrage
Filtre LIKE Recherche par motif
Filtre BETWEEN Intervalle de valeurs
Filtre IN Liste de valeurs acceptées
Groupement GROUP BY Regrouper les résultats
Groupement HAVING Filtrer après regroupement
Tri ORDER BY Trier les résultats
Jointure INNER JOIN Correspondance dans les 2
tables
Jointure LEFT JOIN Tout de la table gauche

9. Bonnes pratiques
• Toujours tester vos requêtes UPDATE et DELETE avec un SELECT d'abord pour
vérifier les lignes concernées.
• Utiliser des alias (AS) pour rendre vos requêtes plus lisibles : SELECT COUNT(*) AS
total FROM clients.
• Indenter vos requêtes SQL pour faciliter la lecture et la maintenance.
• Nommer les tables et colonnes en minuscules avec des underscores : date_naissance,
non DateNaissance.
• Sauvegarder la base de données régulièrement avant des modifications importantes.
• Utiliser des transactions (BEGIN / COMMIT / ROLLBACK) pour les opérations critiques.

Guide SQL — Langage des bases de données relationnelles


Bonne pratique SQL !
La maîtrise de SQL s'acquiert par la pratique. Testez chaque commande sur une base
de données de test.

Guide SQL — Langage des bases de données relationnelles

Vous aimerez peut-être aussi