💻 Programmation🟡 Intermédiaire⏱ 1 min de lecture📂 🌍 Outils et web

💻 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).

Schéma
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.

📌 À retenir

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` ?
  1. DELETE FROM t WHERE 1 = 0;
  2. DELETE FROM t;
  3. DROP ROW t;
  4. 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.