Formateur et embellisseur SQL

Collez une requête brouillonne et obtenez du SQL propre et indenté de façon cohérente. 17 dialectes, casse des mots-clés et minification en un clic, le tout dans votre navigateur.

Fonctionne dans le navigateurSans inscriptionAucun envoi de données

SQL formaté

Comment utiliser : Formateur SQL

  1. Collez une ou plusieurs instructions SQL dans la zone de saisie, ou ouvrez un fichier .sql.
  2. Choisissez le dialecte de votre base de données pour que sa syntaxe, comme les casts ::, les [crochets], les backticks ou les chaînes $$, soit correctement analysée.
  3. Réglez la casse des mots-clés (MAJUSCULES, minuscules ou conservée), l’indentation et le nombre de lignes vides entre les instructions.
  4. Passez en mode Minifier pour supprimer commentaires et espaces, pour des logs, des ORM ou des paramètres d’URL.
  5. Copiez le résultat ou téléchargez-le sous forme de fichier .sql.

Pourquoi formater le SQL ?

Les requêtes copiées depuis des logs d’ORM, des plans d’exécution ou du code applicatif arrivent généralement sur une seule longue ligne. Placer chaque clause (SELECT, FROM, JOIN, WHERE, GROUP BY) sur sa propre ligne et indenter les colonnes et conditions rend la logique lisible. Cela réduit aussi la taille des diffs en revue de code et aide à repérer une condition de jointure manquante ou un OR mal placé.

Conventions de style SQL

  • Mots-clés en majuscules (SELECT, WHERE) : ils distinguent la syntaxe SQL des noms de tables et de colonnes. La plupart des guides de style le recommandent, même si les minuscules sont populaires chez les équipes dbt et analytics.
  • Une colonne par ligne : ajouter ou retirer une colonne ne produit qu’un diff d’une ligne.
  • Indentation cohérente (2 ou 4 espaces) dans les clauses et sous-requêtes : l’imbrication se voit d’un coup d’œil.
  • Terminateurs d’instruction : terminez chaque instruction par ; pour que les scripts à plusieurs instructions soient sans ambiguïté.

Dialectes SQL pris en charge

SQL standard, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore et TiDB. Si une requête n’est pas analysée, essayez un dialecte plus spécifique : les @variables, les paramètres $1 et les opérateurs propres à un éditeur ne sont reconnus que dans leur propre dialecte.

Ce que fait le minificateur

Le mode minification supprime les commentaires --, # et /* */, réduit espaces et sauts de ligne à une seule espace, et supprime les espaces autour des virgules et des parenthèses. Les littéraux de chaîne et identifiants entre guillemets ('…', "…", `…`, […], $$…$$) sont copiés à l’octet près : le sens de la requête ne change jamais.

Questions fréquentes

Mon SQL est-il envoyé à un serveur ?
Non. Le formatage utilise la bibliothèque open source sql-formatter, qui s’exécute dans votre navigateur. Les requêtes contenant des noms de tables, des données clients ou des identifiants restent sur votre machine.
Le formatage change-t-il ce que fait la requête ?
Non. Seuls les espaces, les sauts de ligne et (si vous le choisissez) la casse des mots-clés changent. Les identifiants, les littéraux de chaîne et les commentaires sont conservés tels qu’écrits.
Pourquoi ai-je une erreur d’analyse sur du SQL valide ?
La requête utilise probablement une syntaxe propre à une autre base de données. Sélectionnez le dialecte correspondant, par exemple PostgreSQL pour les casts ::type ou SQL Server pour les noms [bracketed] et les @params.
Puis-je formater plusieurs instructions à la fois ?
Oui. Séparez les instructions par des points-virgules. Vous pouvez choisir combien de lignes vides les séparent dans le résultat.
La casse des mots-clés modifie-t-elle mes noms de colonnes ?
Non. Seuls les mots-clés réservés, les types de données et les fonctions intégrées changent de casse. Les noms de tables et de colonnes gardent leur graphie d’origine.

Outils associés