Formateur SQL
Mettez en forme vos requêtes SQL pour PostgreSQL, MySQL, SQL Server, Oracle, BigQuery, Snowflake et d'autres dialectes, directement dans le navigateur.
Comment formater une requête SQL
- Collez une ou plusieurs requêtes, ou cliquez sur Ouvrir un fichier pour charger un fichier
.sql(10 Mo au maximum). - Choisissez le Dialecte de votre base de données, par exemple PostgreSQL, MySQL ou SQL Server (T-SQL).
- Indiquez comment écrire les Mots-clés (MAJUSCULES, minuscules ou Tels quels) et l’Indentation.
- Cochez Pas d’espaces autour des opérateurs si vous préférez
a=b+1àa = b + 1. - Cliquez sur Formater le SQL, puis copiez ou téléchargez le résultat. Modifier une option remet la requête en forme.
La requête est seulement remise en forme comme du texte. Elle n’est jamais exécutée ni envoyée à une base de données ou à un serveur.
Ce que fait le formateur
L’outil utilise la bibliothèque libre sql-formatter. Il découpe chaque instruction en clauses et place chaque mot-clé de clause (SELECT, FROM, WHERE, GROUP BY, ORDER BY…) sur sa propre ligne, avec le contenu de la clause décalé en dessous. Les colonnes d’un SELECT sont listées une par ligne, les conditions AND et OR commencent une nouvelle ligne, et les sous-requêtes et expressions CASE sont indentées selon leur profondeur. Les expressions courtes entre parenthèses restent sur une ligne. Plusieurs instructions séparées par des points-virgules sont espacées d’une ligne vide.
Seuls les espaces et la casse changent. Les chaînes de caractères, les identifiants entre guillemets et les commentaires sont conservés à l’identique : la requête mise en forme renvoie le même résultat que l’originale.
Pourquoi le dialecte compte
Les bases de données partagent le cœur du langage SQL mais diffèrent dans les détails, et le formateur doit les connaître pour lire la requête correctement :
- les identifiants s’entourent de
"guillemets doubles"en SQL standard et dans PostgreSQL, d’`accents graves`dans MySQL, MariaDB et BigQuery, et de[crochets]dans SQL Server ; - certains opérateurs, comme
->>et les conversions::de PostgreSQL ou l’accès:aux chemins de Snowflake, n’existent que dans certains dialectes ; - les paramètres s’écrivent
?,$1,:nomou@nomselon les bases ; - chaque dialecte a ses propres mots réservés et fonctions, auxquels s’applique l’option Mots-clés.
Si vous voyez « Impossible d’analyser la requête », vérifiez d’abord que le dialecte choisi correspond à votre base. Le message indique la ligne et la colonne où l’analyse s’est arrêtée. SQL standard est le choix le plus strict : sélectionnez votre vraie base dès que possible.
Casse des mots-clés et conseils de style
Les mots-clés en majuscules restent la convention la plus répandue, car ils distinguent d’un coup d’œil le langage des noms de tables et de colonnes. Les minuscules plaisent aux équipes qui les trouvent plus lisibles, et Tels quels respecte votre propre choix. Les noms de tables, de colonnes et de fonctions ne sont jamais modifiés : seuls les mots réservés suivent l’option. Sur de longs fichiers, une mise en forme homogène rend aussi les différences entre deux versions bien plus faciles à relire.
Questions fréquentes
Quels dialectes sont pris en charge ?
SQL standard, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), Google BigQuery, Snowflake, Amazon Redshift, IBM Db2, Db2 for i, Apache Hive, Spark SQL, Trino/Presto, DuckDB, ClickHouse, SingleStoreDB, TiDB et Couchbase N1QL.
L'outil vérifie-t-il que ma requête est valide ?
Non. Il vérifie que la requête peut être lue dans le dialecte choisi, mais pas que les tables ou les colonnes existent, ni que la requête s’exécuterait. Seule votre base de données peut le confirmer.
Peut-il formater des procédures stockées ?
En partie. Les instructions à l’intérieur des procédures sont mises en forme, mais les blocs procéduraux (BEGIN … END, boucles, DECLARE) sont présentés plus simplement que dans un environnement de développement dédié.
Ma requête est-elle envoyée à un serveur ?
Non. La mise en forme se fait dans votre navigateur : les requêtes qui contiennent des noms de tables ou des données restent sur votre ordinateur.
Pourquoi mon commentaire a-t-il changé de place ?
Les commentaires sont conservés, mais un commentaire placé en fin de ligne peut suivre l’élément qu’il accompagne lorsque celui-ci passe à la ligne.
Outils similaires
- Formateur et validateur JSON Formateur et validateur JSON gratuit qui indente, minifie et vérifie votre JSON dans le navigateur, avec erreurs signalées par ligne et colonne.
- Formateur et minificateur JavaScript Rendez lisible un JavaScript minifié, minifiez-le avec Terser ou vérifiez sa syntaxe avec la ligne et la colonne exactes de l'erreur, dans le navigateur.
- Formateur XML Formatez, minifiez et validez du XML dans votre navigateur. Les erreurs sont signalées avec leur ligne et leur colonne, sans envoi de fichier.