Aide-mémoire SQL
Les principales instructions SQL pour interroger et modifier des données, regroupées par tâche. La syntaxe exacte varie légèrement selon les bases de données (PostgreSQL, MySQL, SQLite, SQL Server), mais les fondamentaux ci-dessous sont quasi universels. Pour ranger une requête en désordre, utilisez le formateur SQL.
Mis à jour 2026-07-06
Interroger (SELECT)
| Instruction | Ce qu'elle fait |
|---|---|
| SELECT * FROM t | Renvoyer toutes les colonnes et lignes de la table t |
| SELECT a, b FROM t | Renvoyer seulement les colonnes a et b |
| SELECT DISTINCT a FROM t | Renvoyer les valeurs uniques de a |
| ... WHERE a = 5 | Filtrer les lignes où a vaut 5 |
| ... ORDER BY a DESC | Trier par a, décroissant |
| ... LIMIT 10 | Renvoyer au plus 10 lignes |
| ... OFFSET 20 | Sauter les 20 premières lignes (pagination) |
| SELECT COUNT(*) FROM t | Compter les lignes |
| SELECT SUM(a), AVG(a) FROM t | Agrégat : total et moyenne de a |
| ... GROUP BY category | Grouper les lignes pour agréger par catégorie |
| ... HAVING COUNT(*) > 5 | Filtrer les groupes (WHERE pour les agrégats) |
Filtrer (WHERE)
| Instruction | Ce qu'elle fait |
|---|---|
| WHERE a IN (1, 2, 3) | Correspondre à une valeur d'une liste |
| WHERE a BETWEEN 1 AND 9 | Correspondre à une plage (bornes incluses) |
| WHERE name LIKE 'A%' | Correspondance de motif : commence par A (% = n'importe quels caractères) |
| WHERE name LIKE '_at' | _ correspond à exactement un caractère |
| WHERE a IS NULL | Correspondre aux lignes où a n'a pas de valeur |
| WHERE a > 5 AND b < 10 | Combiner des conditions avec AND / OR |
Joindre des tables
| Instruction | Ce qu'elle fait |
|---|---|
| INNER JOIN u ON t.id = u.tid | Lignes avec une correspondance dans les deux tables |
| LEFT JOIN u ON t.id = u.tid | Toutes les lignes de la table de gauche, avec correspondance ou non |
| RIGHT JOIN u ON t.id = u.tid | Toutes les lignes de la table de droite |
| FULL JOIN u ON t.id = u.tid | Toutes les lignes des deux tables |
Modifier les données
| Instruction | Ce qu'elle fait |
|---|---|
| INSERT INTO t (a, b) VALUES (1, 2) | Ajouter une nouvelle ligne |
| UPDATE t SET a = 5 WHERE id = 1 | Modifier des lignes existantes (attention au WHERE !) |
| DELETE FROM t WHERE id = 1 | Supprimer des lignes (attention au WHERE !) |
Schéma (tables & index)
| Instruction | Ce qu'elle fait |
|---|---|
| CREATE TABLE t (id INT, name TEXT) | Créer une nouvelle table |
| ALTER TABLE t ADD col TEXT | Ajouter une colonne |
| DROP TABLE t | Supprimer une table et toutes ses données |
| CREATE INDEX idx ON t (a) | Ajouter un index pour accélérer les recherches sur a |
Une habitude de sécurité à garder : écrivez la clause WHERE d'un UPDATE ou d'un DELETE d'abord. En exécuter un sans WHERE modifie ou supprime chaque ligne de la table.
Outils associés