Écrivez du SQL dans l’éditeur ci-dessus, appuyez sur Exécuter et lisez les résultats en dessous. Le moteur est une vraie base SQLite compilée en WebAssembly, exécutée sur votre machine — pas un analyseur factice, pas un serveur qui reçoit vos requêtes. Les scripts s’exécutent instruction par instruction : un script qui crée une table, insère des lignes puis les relit vous montre chaque étape, et la base reste vivante entre les exécutions.
Comment fonctionne le compilateur SQL
L’éditeur accepte un script complet, pas une seule instruction. Chaque instruction s’exécute dans l’ordre à l’intérieur du worker : CREATE TABLE construit le schéma, INSERT le remplit, et SELECT renvoie une table de résultats que vous pouvez faire défiler, inspecter et copier en CSV. Les instructions qui modifient des données indiquent combien de lignes elles ont touchées, donc UPDATE et DELETE se comportent comme en vrai — parce que c’est le cas. Quand une instruction échoue, l’exécution s’arrête là, le message d’erreur de SQLite s’affiche avec l’instruction exacte en cause, et tout ce qui précède conserve son effet, exactement comme dans le shell sqlite3.
La base persiste entre les exécutions aussi longtemps que la page reste ouverte. Vous pouvez donc construire un schéma dans une exécution, l’interroger dans la suivante, et peaufiner une jointure jusqu’à ce qu’elle soit juste — le flux de travail d’une base locale, sans l’installation. Le bouton Réinitialiser (ou le changement de base d’exemple) repart d’une base propre.
Bases d’exemple et explorateur de schéma
Trois bases prêtes à l’emploi accompagnent l’outil : Employés (départements, salaires, dates d’embauche), Bibliothèque (auteurs, livres, emprunts) et Boutique (produits, clients, commandes). Chacune est assez petite pour être comprise en une minute et assez réaliste pour s’entraîner aux vraies requêtes — jointures, agrégats, manipulation de dates. Vous préférez partir de zéro ? Choisissez la base vide et construisez vos propres tables.
L’onglet Schéma liste chaque table et vue de la base courante avec ses colonnes, types, clés primaires et nombres de lignes. Le bouton SELECT * à côté de chaque table lance une requête d’inspection sans toucher à votre éditeur. Quand vos scripts créent et suppriment des tables, la vue du schéma se met à jour après chaque exécution — et l’autocomplétion de l’éditeur apprend vos noms de tables et de colonnes pendant que vous tapez.
Quel SQL pouvez-vous pratiquer ici ?
Le moteur est SQLite, la base la plus déployée au monde — celle de votre téléphone, de votre navigateur et de la moitié de vos applications. Vous pouvez pratiquer tout le cœur du langage : SELECT avec WHERE, ORDER BY et LIMIT ; les JOIN internes et externes ; GROUP BY avec HAVING ; les sous-requêtes et expressions de table communes (WITH) ; les fonctions de fenêtre comme OVER (PARTITION BY …) ; les fonctions de dates et de chaînes ; les index et vues ; et les transactions.
Les limites honnêtes : les fonctionnalités propres à MySQL, PostgreSQL ou SQL Server — l’orthographe d’AUTO_INCREMENT, les procédures stockées, ou les clauses RETURNING hors du support de SQLite — se comportent à la manière de SQLite ou n’existent pas. C’est le bon compromis pour apprendre : le dialecte de SQLite est proche du standard, et les concepts se transfèrent directement.
Vos requêtes restent sur votre appareil
Tout s’exécute dans votre navigateur via WebAssembly. La requête que vous écrivez n’est enregistrée que dans le stockage local de votre navigateur : fermez l’onglet, revenez plus tard, votre dernière requête est restaurée. Le bouton partage emballe le script courant dans le lien lui-même — le fragment d’URL n’est jamais envoyé à un serveur, et quiconque l’ouvre voit exactement ce que vous avez écrit. Importer ouvre un fichier .sql depuis votre ordinateur ; Télécharger enregistre le script courant ; Copier le met dans le presse-papiers. Aucun compte, rien à nettoyer ensuite.
Questions fréquentes
Quel dialecte SQL ? SQLite 3, avec sa version exacte affichée dans la barre d’état. Il couvre le cœur commun à tous les moteurs.
Les tables survivent entre les exécutions ? Oui — jusqu’à Réinitialiser, au changement de base d’exemple, ou au rechargement de la page. Chaque chargement repart propre.
Ça marche sur téléphone ? Oui. L’éditeur et les résultats s’empilent verticalement sur petits écrans, et les tables de résultats défilent latéralement dans leurs cartes.
Pourquoi la première exécution est-elle plus lente ? C’est le téléchargement unique du moteur SQLite (environ 650 Ko). Ensuite, chaque exécution démarre instantanément.
Peut-on exporter les résultats ? Oui — chaque table de résultats a un bouton Copier CSV, et les jeux de plus de 500 lignes signalent leur troncature.