SQL
SQL – Résumé pratique (usage courant)
Qu’est-ce que SQL ?
SQL (Structured Query Language) est le langage utilisé pour :
créer des bases de données
créer des tables
ajouter des données
modifier des données
supprimer des données
effectuer des recherches
➡️ Utilisé avec SQLite, MySQL, PostgreSQL, MariaDB…
Une table SQL
Exemple d’une table élèves :
| id | nom | prenom | age |
|---|---|---|---|
| 1 | Dupont | Paul | 18 |
| 2 | Martin | Sophie | 17 |
Création d’une table
1
2
3
4
5
6
CREATE TABLE eleves (
id INTEGER PRIMARY KEY,
nom TEXT,
prenom TEXT,
age INTEGER
);
Insertion d’une ligne
1
2
INSERT INTO eleves (nom, prenom, age)
VALUES ('Dupont', 'Paul', 18);
Afficher toutes les données
1
SELECT * FROM eleves;
Résultat :
1
1 | Dupont | Paul | 18
Afficher certaines colonnes
1
2
SELECT nom, prenom
FROM eleves;
Rechercher une ligne
1
2
3
SELECT *
FROM eleves
WHERE nom = 'Dupont';
Utilisation des opérateurs
1
2
3
SELECT *
FROM eleves
WHERE age > 18;
Opérateurs courants :
| Opérateur | Signification |
|---|---|
| = | égal |
| <> | différent |
| > | supérieur |
| < | inférieur |
| >= | supérieur ou égal |
| <= | inférieur ou égal |
Trier les résultats
Par ordre croissant :
1
2
3
SELECT *
FROM eleves
ORDER BY nom;
Par ordre décroissant :
1
2
3
SELECT *
FROM eleves
ORDER BY nom DESC;
Modifier une donnée
1
2
3
UPDATE eleves
SET age = 19
WHERE id = 1;
⚠️ Toujours utiliser un WHERE lorsque c’est nécessaire.
Supprimer une ligne
1
2
DELETE FROM eleves
WHERE id = 1;
Supprimer toutes les lignes
1
DELETE FROM eleves;
⚠️ La structure de la table reste présente.
Supprimer une table
1
DROP TABLE eleves;
⚠️ La table et toutes ses données sont supprimées.
Compter des lignes
1
2
SELECT COUNT(*)
FROM eleves;
Rechercher avec LIKE
Commence par “Du” :
1
2
3
SELECT *
FROM eleves
WHERE nom LIKE 'Du%';
Contient “ont” :
1
2
3
SELECT *
FROM eleves
WHERE nom LIKE '%ont%';
Limiter le nombre de résultats
1
2
3
SELECT *
FROM eleves
LIMIT 10;
Valeurs NULL
Rechercher les lignes sans âge :
1
2
3
SELECT *
FROM eleves
WHERE age IS NULL;
SQL depuis Python (SQLite)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import sqlite3
connexion = sqlite3.connect("eleves.db")
curseur = connexion.cursor()
curseur.execute("""
SELECT nom, prenom
FROM eleves
""")
resultats = curseur.fetchall()
for eleve in resultats:
print(eleve)
connexion.close()
Bonnes pratiques
Toujours sauvegarder avant des suppressions importantes.
Utiliser des clés primaires (
PRIMARY KEY).Éviter
SELECT *dans les gros projets.Utiliser des requêtes paramétrées en Python.
Toujours fermer la connexion à la base de données.
Requêtes paramétrées (recommandé)
1
2
3
4
5
6
nom = "Dupont"
curseur.execute(
"SELECT * FROM eleves WHERE nom = ?",
(nom,)
)
➡️ Évite les injections SQL.
À retenir
SQL permet de créer, rechercher, modifier et supprimer des données dans une base de données relationnelle.
Les quatre commandes fondamentales sont :
1
2
3
4
SELECT
INSERT
UPDATE
DELETE
Elles constituent la base de la majorité des applications utilisant une base de données.