Formateur et validateur SQL
Mettez en forme ou minifiez du SQL et vérifiez sa syntaxe avec la ligne et la colonne exactes de chaque erreur — pour 20 dialectes, entièrement dans votre navigateur.
Tout s'exécute dans votre navigateur : votre SQL n'est envoyé à aucun serveur.
Options
Déposez un fichier .sql ou .txt ici, collez du texte ou chargez un exemple. Appuyez sur Ctrl+Enter pour lancer.
Vérification de la syntaxe
« Valide » signifie que la syntaxe est correcte pour cette grammaire. Le vérificateur ne connaît pas le schéma de votre base : il ne peut pas savoir si les tables ou colonnes existent ni si la requête s'exécutera. Une syntaxe propre à un dialecte ou très récente peut être refusée alors que votre base de données l'accepte.
Formater, minifier et vérifier du SQL dans votre navigateur
Un SQL lisible se relit, se débogue et se compare plus facilement. Cet outil réécrit une requête avec une indentation, des sauts de ligne et une casse des mots-clés cohérents, et connaît les particularités d'une vingtaine de dialectes, dont MySQL, PostgreSQL, SQL Server (T-SQL), SQLite, BigQuery, Snowflake, Redshift, Oracle PL/SQL, Hive, Spark, Trino et DB2. Choisissez un dialecte, une indentation de deux ou quatre espaces ou une tabulation, décidez si les mots-clés, les types de données et les noms de fonctions passent en majuscules, en minuscules ou restent tels quels, et placez les virgules en début de ligne si c'est la convention de votre équipe.
La vérification de la syntaxe en est l'autre moitié. Collez un script : chaque instruction est validée séparément, et vous voyez lesquelles passent et lesquelles échouent. Une erreur indique la ligne et la colonne, l'élément fautif, quelques lignes de contexte et, quand c'est possible, une piste : mot-clé mal orthographié, virgule en trop ou parenthèse non fermée. Le découpage tient compte des chaînes, des commentaires, des accents graves, des crochets et des blocs entre dollars de PostgreSQL : un point-virgule dans un littéral ne coupe donc jamais une instruction en deux.
La minification fait l'inverse du formatage : elle réduit les espaces et, si vous le souhaitez, supprime les commentaires, pour obtenir une requête compacte sur une seule ligne, utile pour des journaux, des fichiers de configuration ou une intégration dans du code. Elle travaille sur des jetons et non sur des expressions régulières : le texte des chaînes et des noms entre guillemets reste exactement tel que vous l'avez écrit.
Gardez les limites en tête. Une coche verte prouve que la syntaxe correspond à la grammaire choisie, pas que vos tables existent ni que la requête est rapide ou correcte. Certains dialectes, blocs procéduraux et fonctionnalités très récentes ne sont que partiellement pris en charge, et quelques dialectes n'ont pas de vérificateur dédié : vous pouvez alors choisir vous-même la grammaire la plus proche. Tout se passe en local, vous pouvez donc coller sans risque des requêtes de production ; un fichier volumineux met simplement l'aperçu en direct en pause jusqu'à ce que vous cliquiez sur un bouton.
Questions fréquentes
« Valide » signifie-t-il que ma requête va s'exécuter ?
Non. Le vérificateur ne contrôle que la syntaxe. Il n'a pas accès à votre base de données : il ne sait donc pas si une table ou une colonne existe, si les types sont compatibles ni si vous avez les droits nécessaires. Il utilise en outre sa propre grammaire, si bien qu'une syntaxe très récente ou propre à un éditeur peut être refusée alors que votre base l'accepte. Considérez un résultat vert comme « le SQL est bien formé » et un résultat rouge comme « regardez cet endroit ».
Mon SQL est-il envoyé quelque part ?
Non. Le formatage, la minification et la vérification de la syntaxe s'exécutent dans votre navigateur, dans un worker en arrière-plan. Rien n'est envoyé à un serveur. Le brouillon facultatif et vos réglages sont conservés uniquement dans le stockage local de ce navigateur.
Pourquoi le formateur réussit-il alors que le vérificateur signale une erreur ?
Ce sont deux outils différents. Le formateur n'a besoin que de reconnaître les jetons et les clauses, il est donc tolérant. Le vérificateur applique une grammaire complète du dialecte choisi et se montre plus strict. En cas de désaccord, un avertissement s'affiche : le résultat reste visible, mais la ligne signalée mérite un coup d'œil.
La minification change-t-elle ce que fait ma requête ?
Elle ne supprime que les espaces et les commentaires. Les chaînes, les identifiants entre guillemets, les blocs entre dollars et les indications d'optimisation sont recopiés caractère pour caractère, et les éléments qui se touchaient restent collés. Par précaution, ne minifiez pas les scripts qui dépendent des sauts de ligne, comme les blocs DELIMITER de MySQL.