Formateur et embellisseur SQL

Collez une requête ou une migration complète pour obtenir un SQL lisible, avec une clause par ligne, des jointures alignées et une casse des mots-clés cohérente, selon la grammaire de votre base de données.

Mis à jour le
 
SQL formaté
 

Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

Comment utiliser : Formateur SQL

  1. Collez une ou plusieurs instructions SQL dans SQL source (ou ouvrez un fichier .sql).
  2. Sélectionnez votre dialecte. Ce choix compte pour des éléments comme les identifiants entre backticks dans MySQL, les conversions :: dans PostgreSQL ou TOP dans SQL Server.
  3. Choisissez la casse des mots-clés et l'indentation. La requête formatée se met à jour pendant la saisie.
  4. Copiez le résultat ou téléchargez-le sous forme de query.sql.

À quoi sert un formateur SQL ?

Le SQL ne tient pas compte des espaces. Les requêtes générées par un ORM, journalisées par une base de données ou écrites à la hâte finissent donc souvent sur une seule ligne interminable. Un formateur SQL analyse l'instruction et la réécrit en plaçant chaque clause principale — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY — sur une nouvelle ligne, avec les listes de colonnes indentées et les sous-requêtes imbriquées d'un niveau supplémentaire. Il devient ainsi beaucoup plus facile de repérer une condition de jointure manquante, un OR mal placé ou une colonne oubliée dans le GROUP BY.

Exemple

select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 group by u.id

devient

SELECT
  u.id,
  count(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
WHERE
  u.active = 1
GROUP BY
  u.id

Pourquoi le réglage du dialecte est important

Chaque base de données étend le SQL à sa façon. Choisir le bon dialecte permet au formateur de reconnaître les mots-clés et la syntaxe propres à chaque éditeur, au lieu de les traiter comme des erreurs :

DialecteExemples reconnus
MySQL / MariaDBIdentifiants `backtick`, LIMIT 10, 20, ON DUPLICATE KEY UPDATE
PostgreSQLConversions ::, paramètres $1, RETURNING, corps de fonctions entre guillemets dollar
SQL Server (T-SQL)Noms entre crochets [bracketed], TOP (10), variables @variables, lots GO
BigQueryTypes STRUCT/ARRAY, chemins backtick project.dataset.table, QUALIFY
Oracle PL/SQLVariables de liaison :bind, CONNECT BY, chaînes q'[…]'

Si une requête échoue avec une erreur d'analyse, la cause la plus fréquente est un dialecte inadapté. Essayez alors la base de données que vous utilisez réellement. Le formateur repose sur la bibliothèque open source sql-formatter et fonctionne entièrement dans votre navigateur : vos requêtes de production contenant des données clients ne quittent jamais votre machine.

Casse des mots-clés : majuscules ou minuscules ?

Les mots-clés en MAJUSCULES sont la convention traditionnelle et font ressortir la structure de la requête par rapport aux noms de tables et de colonnes. Beaucoup d'équipes modernes préfèrent les minuscules, plus faciles à taper et à lire. Choisissez-en une et tenez-vous-y : des linters comme SQLFluff peuvent l'imposer dans votre CI. L'option Fonctions gère séparément les fonctions natives comme count() ou coalesce().

Vous comparez deux versions d'une requête ? Collez-les dans le comparateur de texte. Vous avez exporté des résultats en JSON ? Transformez-les en tableur avec JSON vers CSV.

Aussi recherché comme : mettre en forme sql, embellisseur sql, sql pretty print, formatage requête sql, formateur mysql, formateur postgresql, formateur t-sql, indentation sql.

Outils complémentaires : Formateur SQL

  • Formateur JSON — Collez votre code JSON pour le formater, le compresser ou le valider.
  • CSV vers JSON — Collez du CSV ou du TSV pour obtenir un tableau JSON d'objets.
  • Formateur JavaScript — Rendez lisible du JavaScript, JSON ou JSX avec l'indentation et le style d'accolades de votre choix, ou supprimez espaces et commentaires avec un minifieur vérifié.
  • Formateur HTML — Collez du balisage minifié ou désordonné et obtenez un HTML propre, indenté de manière cohérente, y compris les blocs <style> et <script> intégrés.

Questions fréquentes

Le formateur modifie-t-il le fonctionnement de ma requête ?
Non. Seuls les espaces et la casse des mots-clés (et des fonctions, si vous le choisissez) sont modifiés. Les identifiants, les chaînes littérales et l'ordre de tous les éléments restent identiques.
Pourquoi obtenez-vous une erreur d'analyse ?
Le formateur doit comprendre le SQL pour le mettre en forme. Une erreur signifie généralement que le mauvais dialecte est sélectionné ou que l'instruction utilise une syntaxe que ce dialecte ne prend pas en charge. Les marqueurs de modèle comme {{ var }} peuvent aussi le perturber.
Puis-je formater plusieurs instructions à la fois ?
Oui. Séparez les instructions par des points-virgules. Chacune est formatée et séparée d'une ou deux lignes vides, selon le réglage « Entre les requêtes ».
Est-il sûr de coller des requêtes de production ?
Oui. La mise en forme s'exécute dans votre navigateur grâce à JavaScript et rien n'est envoyé à nos serveurs. Les valeurs de vos clauses WHERE restent donc confidentielles.
Les procédures stockées et le DDL sont-ils pris en charge ?
Les instructions CREATE TABLE, ALTER, INSERT, les CTE (WITH) et les fonctions de fenêtrage sont entièrement prises en charge. Les blocs procéduraux (PL/pgSQL, flux de contrôle T-SQL) sont mis en forme au mieux.
Puis-je installer Formateur SQL en tant qu’application web et l’utiliser hors ligne ?
Oui. Formateur SQL est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

Outils similaires