Formateur SQL
Transformez une requête SQL sur une ligne en SQL propre et indenté
Chargement de l’outil…
Découpe en lignes une longue requête SQL écrite sur une seule ligne et indente chaque clause pour la rendre lisible, ou remet un SQL mis en forme sur une seule ligne. Utile pour relire une requête tirée d’un journal ou du code, ou pour l’insérer dans une documentation.
Mode d’emploi
- Collez la requête dans « SQL d’entrée », ou appuyez sur « Ouvrir un fichier » pour charger un fichier .sql. Plusieurs instructions à la fois ne posent pas de problème.
- Choisissez votre base de données sous « Dialecte SQL ». En cas de doute, laissez « SQL standard ».
- Réglez « Mots-clés », « Indentation », « Virgules » et « Largeur de ligne » ; le « Résultat » change aussitôt.
- Copiez le résultat ou appuyez sur « Enregistrer en .sql ». Pour une seule ligne, passez le « Mode » sur « Sur une ligne ».
Fonctionnement
- La mise en forme utilise la bibliothèque sql-formatter (licence MIT) et propose 20 dialectes, dont MySQL, PostgreSQL, SQL Server, Oracle PL/SQL, SQLite et BigQuery.
- Seuls les espaces, les retours à la ligne et la casse des mots-clés changent ; le texte entre guillemets et les commentaires restent tels quels. En mode « Sur une ligne », les commentaires -- sont transformés en commentaires /* */ pour que la requête fonctionne toujours.
- Votre SQL est traité uniquement dans ce navigateur. Il n’est jamais exécuté ni envoyé à un serveur. Les fichiers de plus de 20 Mo ne peuvent pas être ouverts.
Questions fréquentes
- Formater du SQL change-t-il ce que fait la requête ?
- Non. Seuls les espaces, les retours à la ligne et la casse des mots-clés changent ; les valeurs entre guillemets et les commentaires restent identiques. Pour garder les mots-clés tels que vous les avez écrits, réglez « Mots-clés » sur « Tels que saisis ».
- Pourquoi j’obtiens « Formatage impossible » ?
- Cherchez un guillemet ou une parenthèse non fermés près de l’endroit signalé. Certaines syntaxes nécessitent le bon dialecte : les noms entre crochets demandent SQL Server, et les conversions :: demandent PostgreSQL. Le mode « Sur une ligne » fonctionne sur n’importe quel texte.
- Peut-on mettre les virgules en début de ligne ?
- Oui. Réglez « Virgules » sur « En début de ligne » : les virgules des listes, comme les colonnes d’un SELECT, passent au début de chaque ligne.
- Pourquoi une liste entre parenthèses reste-t-elle sur une ligne ?
- Les listes entre parenthèses plus courtes que la « Largeur de ligne » (50 caractères par défaut) restent sur une ligne. Baissez la valeur pour en découper davantage.