Aller au contenu
SPCXTools

Formateur SQL

Transformez un code SQL long et brouillon en requêtes propres, lisibles et parfaitement indentées.

Fonctionne en local — vos fichiers ne quittent pas votre appareil

Chargement de l’outil…

Comment utiliser : Formateur SQL

  1. 1Collez votre requête SQL dans la zone d'Entrée, ou cliquez sur Exemple pour tester.
  2. 2Choisissez votre dialecte SQL pour que la syntaxe spécifique à votre base de données soit reconnue.
  3. 3Définissez la casse des mots-clés — MAJUSCULES, minuscules ou telle quelle — ainsi que l'indentation.
  4. 4Copiez la requête formatée ou téléchargez-la sous forme de fichier .sql.

Rendre le SQL lisible

Les requêtes copiées depuis des logs, générées par un ORM ou écrites à la hâte finissent souvent sur une seule longue ligne, difficile à lire et encore plus difficile à déboguer. Ce formateur SQL découpe votre requête en clauses claires — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY —, place chaque colonne et condition sur sa propre ligne et indente les sous-requêtes et les expressions CASE de manière cohérente. Le résultat est plus facile à relire, à comparer dans un gestionnaire de versions et à partager avec vos collègues.

Fonctionnalités

  • 12 dialectes SQL, du SQL standard à MySQL, PostgreSQL, SQL Server, Oracle, BigQuery et Snowflake.
  • Casse des mots-clés : MAJUSCULES, minuscules ou telle qu'écrite ; s'applique aux mots-clés, types de données et fonctions.
  • Indentation avec 2 espaces, 4 espaces ou des tabulations.
  • Instructions multiples séparées par des points-virgules.
  • Commentaires préservés — aussi bien les commentaires de ligne -- que les blocs de commentaires /* */.
  • Copier ou télécharger le résultat sous forme de fichier .sql.
  • Privé : le formateur s'exécute localement dans votre navigateur.

Avant et après

Une requête comme celle-ci :

select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.status = 'active' group by u.id, u.name order by orders desc;

devient :

SELECT
  u.id,
  u.name,
  COUNT(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
WHERE
  u.status = 'active'
GROUP BY
  u.id,
  u.name
ORDER BY
  orders DESC;

Conseils de style SQL

  • Une clause par ligne. Commencer chaque clause principale sur une nouvelle ligne permet de voir la structure d'une requête en un coup d'œil.
  • Utiliser des alias explicites. Les alias courts comme u et o suffisent pour les petites requêtes, mais des alias descriptifs sont utiles dans les longs rapports.
  • Qualifier les noms de colonnes dans les jointures (orders.user_id plutôt que user_id) pour éviter toute ambiguïté.
  • Maintenir un formatage cohérent sur l'ensemble du projet afin que les diffs affichent les vraies modifications, et non les espaces.

Outils associés

Vous travaillez avec des résultats de requêtes ? Convertissez vos données exportées avec le convertisseur CSV en JSON, formatez vos réponses d'API avec le Formateur JSON, ou comparez deux versions d'une requête avec le Comparateur de texte.

Questions fréquentes

Quels dialectes SQL sont pris en charge ?
SQL standard, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL et IBM Db2. Choisir le bon dialecte est important pour la syntaxe spécifique à la base de données, comme les identifiants entre backticks, les crochets, les chaînes délimitées par des dollars ou les opérateurs spéciaux.
Le formatage modifie-t-il le comportement de ma requête ?
Non. Le formateur ne modifie que les espaces, les sauts de ligne et, si vous le souhaitez, la casse des mots-clés, des types de données et des noms de fonctions. Les noms de tables, de colonnes, les chaînes de caractères et les commentaires restent exactement tels quels.
Pourquoi ai-je une erreur ?
Le formateur doit comprendre la structure de votre requête. Les erreurs indiquent généralement une faute de frappe, un guillemet ou une parenthèse non fermée, ou la syntaxe d'une autre base de données — essayez de sélectionner un autre dialecte. Les variables de template comme {{ name }} peuvent également perturber l'analyseur.
Puis-je formater plusieurs instructions à la fois ?
Oui. Séparez les instructions par des points-virgules et chacune sera formatée, avec une ligne vide entre elles.
Mon code SQL est-il envoyé à un serveur ?
Non. Le formatage s'effectue entièrement dans votre navigateur. Vous pouvez donc formater en toute sécurité des requêtes contenant des noms de tables internes ou des données d'exemple.
Les mots-clés SQL doivent-ils être en majuscules ?
Le SQL est insensible à la casse pour les mots-clés, c'est donc une question de style. Les mots-clés en majuscules (SELECT, FROM, WHERE) constituent la convention traditionnelle car ils se démarquent des noms de tables et de colonnes, bien que de nombreuses équipes modernes préfèrent les minuscules. Choisissez une convention et appliquez-la de manière cohérente.