Aller au contenu
TextArray
Tout en local

Formateur SQL

Formatez les requêtes SQL avec chaque clause sur sa propre ligne, une indentation cohérente et des mots-clés en majuscules.

Entrée
Sortie

Formateur SQL

Collez n'importe quelle requête SQL et rendez-la lisible : SELECT, FROM, WHERE, JOIN, GROUP BY, HAVING, ORDER BY et les autres clauses principales commencent chacune par leur propre ligne, les conditions AND et OR continuent en retrait en dessous d'elles, et chaque colonne de la liste de sélection peut se trouver sur sa propre ligne. Choisissez deux espaces, quatre espaces ou des tabulations pour l'indentation et choisissez si les mots-clés sont en majuscules – la majuscule SELECT/FROM/WHERE classique qui rend la structure visible d'un seul coup d'œil.

Le formateur est construit sur un véritable tokenizer, et non sur un tas de règles de recherche et de remplacement. Les littéraux de chaîne tels que « c'est », les identifiants cités dans chaque style de dialecte (« colonne », \`colonne\`, [colonne]) et les deux styles de commentaire (--ligne et /* bloc */) passent octet par octet, donc un mot-clé à l'intérieur d'une chaîne n'est jamais touché et une citation à l'intérieur d'un commentaire ne le confond jamais. Seuls les espaces et la casse des mots clés changent : la requête que vous obtenez signifie exactement ce que signifiait la requête que vous avez collée.

Plusieurs instructions séparées par des points-virgules sont reconnues et formatées sous forme de blocs distincts, ce qui rend l'outil pratique pour les fichiers de migration et les scripts de départ, et pas seulement pour les requêtes uniques. Il est honnête quant à ses limites : les sous-requêtes profondément imbriquées restent sur la ligne de leur clause plutôt que d'être réindentées, ce qui permet de conserver le résultat prévisible pour les requêtes que vous déboguez réellement au quotidien.

Tout s'exécute localement dans votre navigateur : les requêtes contenant des noms de table, des informations d'identification ou des données de production ne quittent jamais votre machine. Copiez le résultat ou téléchargez-le sous forme de fichier .txt lorsque vous avez terminé.

FAQ

Le formateur modifiera-t-il un jour l'effet de ma requête ?
Non. Seuls les espaces et la casse des mots clés changent. Les chaînes littérales, les identifiants entre guillemets, les commentaires, les nombres et les opérateurs sont transmis exactement tels qu'ils sont écrits, de sorte que la requête formatée est sémantiquement identique à l'entrée.
Comment les sous-requêtes imbriquées complexes sont-elles gérées ?
Il s'agit d'un formateur au mieux. Les clauses de niveau supérieur ont leurs propres lignes, mais le contenu des parenthèses (y compris les sous-requêtes) reste en ligne sur la ligne de sa clause. Les mots clés dans les sous-requêtes sont toujours en majuscules. Pour les requêtes profondément imbriquées, le résultat est correct mais pas toujours parfaitement indenté.
Quels mots-clés sont en majuscules ?
Mots-clés de clause (variantes SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY, INSERT INTO, UPDATE, DELETE FROM, CREATE TABLE et plus), opérateurs logiques (AND, OR, NOT, IN, LIKE, BETWEEN) et types de colonnes courants. Les noms de fonctions comme count() sont laissés seuls et rien dans les chaînes, les identifiants entre guillemets ou les commentaires n'est jamais modifié.
Puis-je formater plusieurs déclarations à la fois ?
Oui. Les instructions séparées par des points-virgules de niveau supérieur sont formatées sous forme de blocs séparés séparés par une ligne vide. Les points-virgules à l’intérieur des chaînes littérales sont ignorés, comme ils devraient l’être.
Mon SQL est-il téléchargé quelque part ?
L'outil s'exécute entièrement dans votre navigateur et vos requêtes ne quittent jamais votre appareil - sans danger même pour SQL qui fait référence à des schémas de production.