Aller au contenu

Formater des requêtes SQL

Mettez en forme ou minifiez du SQL pour MySQL, PostgreSQL, SQL Server, SQLite, BigQuery, Oracle et 14 autres dialectes, avec le style de votre choix, directement dans votre navigateur.

Mis en forme
Cliquez sur Formater le SQL pour mettre en forme votre requête.
Fonctionne dans votre navigateur · aucun envoiComment ça marche

Comment utiliser Formateur SQL

  1. 1

    Collez votre SQL

    Collez une requête ou un script entier, ou ouvrez un fichier .sql ; Exemple affiche une requête désordonnée à essayer.

  2. 2

    Choisissez le dialecte

    Sélectionnez votre base de données pour que les guillemets, opérateurs et mots-clés soient bien reconnus.

  3. 3

    Définissez le style

    Choisissez la casse des mots-clés, l’indentation, la position des virgules et la disposition selon les conventions de votre équipe.

  4. 4

    Formatez et copiez

    Cliquez sur Formater le SQL ou sur Minifier, puis copiez le résultat coloré ou téléchargez-le en .sql.

Limites et Pro

Gratuit, sans inscription : 20 dialectes, fichiers .sql jusqu’à 10 Mo et scripts formatés en moins de 20 secondes ; au-delà de 600 000 caractères, le résultat n’est affiché qu’en partie, mais copié ou téléchargé en entier.

Pro supprime les publicités ; le formateur est le même quel que soit l’abonnement. Découvrir Pro

À propos de Formateur SQL

Collez une requête sur une seule ligne tirée d’un journal, de la sortie de débogage d’un ORM ou d’un message de collègue : ce formateur la présente comme le ferait une personne soigneuse. Une clause par ligne, colonnes sélectionnées et jointures indentées sous leur mot-clé, sous-requêtes imbriquées pour que la structure se lise d’un coup d’œil. Il comprend 20 dialectes SQL — SQL standard, MySQL, MariaDB, PostgreSQL, SQL Server T-SQL, SQLite, Oracle PL/SQL, BigQuery, Snowflake, Redshift, Spark, Trino, DuckDB, ClickHouse, Hive, Db2, Db2 for i, SingleStore, TiDB et Couchbase N1QL — si bien que la syntaxe propre à chacun, comme les identifiants entre accents graves, les crochets, les conversions :: ou les chaînes entre dollars, reste intacte.

Vous choisissez votre style : mots-clés en majuscules, en minuscules ou tels qu’écrits ; noms de fonctions et types de données de même ; deux espaces, quatre espaces ou tabulations ; virgules en fin ou en début de ligne ; AND et OR avant ou après le retour à la ligne ; disposition standard ou tabulaire qui aligne les mots-clés en colonne. Les scripts à plusieurs instructions sont séparés par une ligne vide. La minification fait l’inverse : elle supprime les commentaires et les espaces superflus, sans toucher aux chaînes, aux noms entre guillemets ni aux indications pour l’optimiseur.

Le résultat est coloré syntaxiquement et peut être copié ou téléchargé en fichier .sql. La mise en forme utilise la bibliothèque open source sql-formatter, chargée au premier clic sur Formater le SQL, et s’exécute dans un worker en arrière-plan pour que les longs scripts ne bloquent pas la page.

L’outil ne modifie que les espaces et la casse. Il ne vérifie pas les noms de tables ou de colonnes, n’exécute pas la requête et ne la réécrit pas pour la performance ; les procédures stockées à la syntaxe très spécifique peuvent nécessiter le dialecte le plus proche.

Confidentialité

Le SQL est mis en forme dans votre navigateur par un Web Worker : les requêtes contenant des noms de tables, des données clients ou des identifiants ne sont jamais envoyées à un serveur. Vos choix de dialecte et de style sont enregistrés dans le stockage local ; le SQL lui-même n’est pas conservé.

Fonctionnalités

20 dialectes SQL

MySQL, PostgreSQL, SQL Server, Oracle, BigQuery, Snowflake et 14 autres.

Votre style maison

Casse des mots-clés, indentation, virgules en début ou fin de ligne, position de AND/OR et disposition tabulaire.

Minification aussi

Supprimez commentaires et espaces pour intégrer du SQL dans du code, sans toucher aux chaînes ni aux indications.

Formateur SQL : questions fréquentes

La mise en forme change-t-elle ce que fait ma requête ?
Non. Seuls les espaces, les retours à la ligne et la casse des mots-clés, fonctions et types de données changent ; les identifiants, les chaînes littérales et les commentaires restent exactement tels quels. Changer la casse des mots-clés est sans risque, car ils ne sont pas sensibles à la casse. PostgreSQL distingue en revanche les noms entre guillemets : c’est pourquoi ce formateur n’y touche pas.
Pourquoi une erreur d’analyse s’affiche-t-elle ?
Le formateur doit reconnaître la structure de l’instruction : une parenthèse non fermée, un mot-clé manquant ou la syntaxe d’une autre base l’arrête. Le message indique la ligne, la colonne et ce qui était attendu. Choisissez le dialecte de votre base — les crochets demandent SQL Server, les accents graves MySQL, MariaDB ou BigQuery — et vérifiez qu’aucune instruction n’est inachevée à la fin.
Faut-il placer les virgules au début ou à la fin de la ligne ?
Les virgules en fin de ligne sont le style le plus courant, celui que produisent la plupart des outils. En début de ligne, elles facilitent la mise en commentaire de la dernière colonne et limitent les différences à une seule ligne quand vous ajoutez une colonne ; certaines équipes data les préfèrent. Choisissez le style de votre équipe ; l’option ne s’applique qu’à la disposition standard.
Peut-il formater des procédures stockées et des scripts à plusieurs instructions ?
Oui. Collez un script complet : chaque instruction est mise en forme et séparée par une ligne vide, y compris CREATE TABLE, INSERT, UPDATE, MERGE et les blocs procéduraux courants. Le code procédural très spécifique, comme les lots T-SQL complexes avec séparateurs GO ou les packages PL/SQL, peut ne pas être entièrement compris ; choisissez le bon dialecte et formatez des blocs plus petits si une partie échoue.
Que supprime la minification ?
La minification supprime les commentaires -- et /* */ (ainsi que # dans MySQL et MariaDB), remplace les suites d’espaces et de retours à la ligne par une seule espace et retire les espaces autour des virgules et des parenthèses. Les chaînes littérales, les identifiants entre guillemets et les indications d’optimiseur écrites /*+ … */ ou /*! … */ de MySQL sont conservés : la requête minifiée s’exécute comme l’originale.