💻 Programmation · Outils et web
SQL : interroger une base de données
SQL est le langage des bases de données relationnelles (SQLite, PostgreSQL, MySQL). Les données sont rangées en tables (lignes × colonnes).
SELECT nom, niveau
FROM membres
WHERE niveau >= 10
ORDER BY niveau DESC
LIMIT 5;Les 4 opérations (CRUD)
INSERT (créer) · SELECT (lire) · UPDATE (modifier) · DELETE (supprimer).
Le piège du WHERE manquant
UPDATE ou DELETE **sans WHERE modifie ou supprime toutes** les lignes. Teste d'abord ta condition avec un SELECT.
Clés
Clé primaire : identifie chaque ligne de façon unique. Clé étrangère : référence une ligne d'une autre table.
Jointure
SELECT m.nom, a.raison FROM membres m JOIN avertissements a ON a.membre_id = m.id; relie deux tables par leurs clés.
Agréger
COUNT, SUM, AVG, GROUP BY : SELECT membre_id, COUNT(*) FROM avertissements GROUP BY membre_id; compte les avertissements par membre.
Index
Accélèrent les recherches sur une colonne, au prix d'écritures un peu plus lentes.
SQLite
Une base dans un simple fichier, sans serveur : idéale pour un petit bot. Ne la copie pas « à chaud » avec cp : utilise la commande .backup.
Requêtes paramétrées uniquement, et WHERE systématique sur UPDATE / DELETE.
Teste-toi
Quelle requête SQL supprime TOUTES les lignes d'une table `t` ?
- DELETE FROM t WHERE 1 = 0;
- DELETE FROM t;
- DROP ROW t;
- SELECT * FROM t;
Réponse : B. DELETE FROM t;
DELETE sans WHERE vide la table. WHERE 1 = 0 ne supprime rien (condition jamais vraie).
Plus de questions dans Discord avec /qcm matiere:dev.
Pour aller plus loin
Fiche mise à jour le 6 novembre 2026. Une erreur, une précision à proposer ? Écris-nous.