Formater du SQL
Collez une requête, choisissez votre base de données, et récupérez-la indentée avec une clause par ligne.
Fonctionne entièrement dans votre navigateur
- Entrée
- 0
- Sortie
- 0
- Variation
- 0%
Données jusqu'à environ 10 Mo. L'outil ne change que la mise en forme : il n'exécute pas votre SQL, ne le vérifie pas par rapport à un schéma et ne l'optimise pas.
Comment formater une requête SQL
- Collez la requête dans le champ, ou cliquez sur Insérer un exemple pour voir comment ça marche.
- Choisissez votre base de données dans Dialecte, puis réglez la casse des mots-clés et la taille de l'indentation.
- La requête formatée apparaît en dessous pendant la saisie. Copiez-la, ou téléchargez-la en fichier
.sql.
Rendre le SQL lisible
Une base de données lit une requête de la même façon qu'elle tienne sur une ligne ou sur quarante : c'est pourquoi les requêtes copiées depuis des journaux, des ORM ou des outils de supervision arrivent si souvent en une seule chaîne continue. Formater le SQL place chaque clause principale (SELECT, FROM, WHERE, GROUP BY, ORDER BY) sur sa propre ligne et indente en dessous les colonnes, conditions et sous-requêtes : vous voyez d'un coup d'œil la forme de la requête et repérez une condition de jointure manquante.
La mise en forme suit le dialecte choisi, car les mots et symboles diffèrent d'une base de données à l'autre. Une conversion PostgreSQL comme price::numeric, un paramètre numéroté comme $1, un nom MySQL entre accents graves, une clause Oracle CONNECT BY et un TOP 10 SQL Server sont tous valides dans un dialecte et sont une erreur de syntaxe dans un autre. Les marqueurs de paramètres liés (?, $1, :name, @name) sont reconnus et laissés tels quels.
La casse des mots-clés n'a aucun effet sur l'exécution d'une requête : c'est purement une convention maison. Un formateur qui comprend la grammaire peut la changer sans risque, car il sait quels mots sont des mots-clés et lesquels sont des noms de colonnes ou du texte entre guillemets.
Conseils
- Vous comparez une requête avant et après une modification ? Formatez les deux avec les mêmes réglages et comparez-les dans Comparer deux textes.
- La requête renvoie des colonnes JSON ? Collez une valeur dans Formater et valider du JSON pour la lire.
- Besoin de renommer une table dans un long script ? Rechercher et remplacer s'en charge avant le formatage.
Questions fréquentes
Mon SQL est-il envoyé en ligne ?
Non. Le code de formatage est un script servi par ce site et chargé la première fois que vous collez une requête ; la requête elle-même reste dans votre navigateur et n'est envoyée à aucun serveur.
Pourquoi le dialecte est-il important ?
Chaque base de données ajoute sa propre syntaxe. PostgreSQL a les conversions :: et les paramètres $1, SQL Server les noms [entre crochets] et TOP, MySQL et MariaDB entourent les noms d'accents graves, et BigQuery a ses propres formes de tableaux et de structures. Choisir le bon dialecte permet à l'analyseur d'accepter votre requête. Le SQL standard est le choix sûr en cas de doute, mais il est plus strict sur les extensions propres à chaque éditeur.
Pourquoi une erreur s'affiche-t-elle pour une requête qui fonctionne dans ma base ?
Le formateur lit toute l'instruction au lieu de simplement réindenter les lignes : une parenthèse ou un guillemet non fermé l'arrête, tout comme une syntaxe propre à un autre dialecte. Le message donne la ligne et la colonne où il a abandonné, et la solution la plus fréquente est de choisir le dialecte correspondant.
Le formatage change-t-il ce que fait la requête ?
Seuls les espaces et, si vous le choisissez, la casse des mots-clés changent. Les chaînes littérales, les noms entre guillemets et les nombres gardent leur texte : 'select' entre apostrophes reste donc en minuscules quand vous choisissez MAJUSCULES.
Puis-je formater plusieurs instructions ensemble ?
Oui. Les instructions séparées par des points-virgules sont chacune formatées, avec une ligne vide entre elles.
Quelle casse choisir pour les mots-clés ?
Les deux fonctionnent : c'est un choix de style et les bases de données l'ignorent. Les mots-clés en majuscules sont la convention la plus ancienne et font ressortir les clauses dans du texte brut. Les minuscules sont courantes dans les projets qui utilisent déjà un linter ou un ORM qui écrit dans ce style. Garder tel quel ne touche pas à vos majuscules.