ForHosting KIT · Veille et lecture de sites web

Formatez du SQL et rendez vos requêtes lisibles

Transformez une requête SQL compacte ou présentée de façon irrégulière en une version lisible, avec des mots-clés en majuscules, des espaces prévisibles et une indentation structurée.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Le formateur effectue une analyse lexicale déterministe : il préserve les chaînes et identifiants délimités tout en facilitant la lecture des clauses et expressions imbriquées. Il contrôle également la structure avant de produire le résultat. Les parenthèses sans correspondance, les valeurs entre guillemets inachevées et les identifiants délimités non fermés sont refusés. Vous pouvez l’utiliser dans votre navigateur ou automatiser le même traitement avec l’API pour $0.002 par requête.

Ce que le formateur modifie et préserve

Le formateur met en majuscules les mots-clés SQL reconnus et place sur des lignes distinctes les clauses principales telles que SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, LIMIT ainsi que les jointures courantes. Les virgules séparent les éléments des listes, tandis que les parenthèses ajoutent un niveau d’indentation aux expressions imbriquées et aux sous-requêtes. Les opérateurs reçoivent des espaces réguliers. En parallèle, le contenu délimité reste protégé. Les textes entre apostrophes, les identifiants entre guillemets doubles ou accents graves et ceux entre crochets conservent leurs caractères et leur casse d’origine. Les commentaires de ligne et de bloc sont également maintenus. La requête devient ainsi plus facile à examiner sans aucune supposition sur le schéma de la base. Le traitement est volontairement déterministe : une entrée identique produit toujours la même sortie, sans réseau, interprétation par un modèle, choix aléatoire ni dépendance à l’environnement. Le champ formatted_sql contient un texte brut que vous pouvez copier dans un éditeur, une migration, un rapport ou une revue de code.

Comment la validation structurelle sécurise le résultat

Une belle présentation n’est d’aucune utilité si elle dissimule une requête incomplète. La validation intervient donc pendant la segmentation lexicale, avant la mise en forme. Chaque parenthèse ouvrante doit posséder une parenthèse fermante correspondante, et aucune fermeture ne peut précéder son ouverture. Les chaînes entre apostrophes, les identifiants entre guillemets doubles, accents graves ou crochets doivent se terminer correctement. Les caractères de citation doublés à l’intérieur d’une valeur sont reconnus comme des échappements, ce qui autorise la représentation habituelle d’une apostrophe par deux apostrophes. Les échappements avec barre oblique inverse restent également groupés. Un commentaire de bloc inachevé est refusé, car la suite ne peut pas être formatée de manière sûre. Ces contrôles portent sur la structure et non sur le sens : l’outil ne se connecte à aucune base, ne vérifie ni tables ni colonnes, ne choisit aucun dialecte et ne garantit pas l’exécution. Une requête équilibrée peut encore contenir une syntaxe propre à un fournisseur qui soit incorrecte. Le message signale donc précisément les parenthèses ou citations déséquilibrées sans prétendre compiler intégralement le SQL.

Intégrer le SQL formaté dans un processus fiable

Collez la requête complète dans le champ query et envoyez-la sous forme de chaîne. Pour une utilisation interactive, comparez le résultat formaté à l’original avant de remplacer du code en production, surtout si l’instruction emploie des opérateurs propres à un fournisseur ou des règles de citation inhabituelles. Dans une automatisation, lancez le formateur avant d’enregistrer des migrations générées, de joindre du SQL à un ticket de revue ou de comparer des modifications de requêtes. Une présentation uniforme réduit le bruit des différences : les personnes chargées de la revue peuvent se concentrer sur les jointures, prédicats, colonnes sélectionnées et tris plutôt que sur les espaces et la casse. Les commentaires et valeurs délimitées étant conservés, la sortie convient à la documentation comme à l’exécution, mais elle ne remplace jamais la validation ni les tests de la base. L’outil du navigateur utilise la même fonction pure que l’API, ce qui garantit des résultats cohérents. L’API coûte $0.002 par requête. L’entrée est traitée sans service externe et n’a pas à être conservée après la réponse. En cas d’échec, corrigez le délimiteur isolé puis renvoyez l’instruction complète.

Clarifier du SQL généré

Convertissez une requête sur une seule ligne issue d’un ORM, d’un journal ou d’un outil de rapports en présentation facile à examiner.

Uniformiser les revues de migrations

Appliquez une casse et une indentation prévisibles avant la revue afin de réduire les différences purement stylistiques.

Repérer une requête copiée incomplète

Refusez du SQL auquel il manque une parenthèse ou un guillemet avant de le publier ou de le transmettre à un autre système.

Le formateur exécute-t-il mon SQL ?

Non. Il effectue uniquement une mise en forme lexicale locale et des contrôles structurels. Il ne se connecte à aucune base et n’examine aucun schéma.

Quelle casse applique-t-il ?

Les mots-clés SQL reconnus passent en majuscules. Les textes et identifiants délimités conservent leur casse d’origine.

Quels éléments sont contrôlés ?

Il refuse les parenthèses isolées, les apostrophes ou guillemets non fermés, les identifiants inachevés entre accents graves ou crochets et les commentaires de bloc incomplets.

Tous les dialectes SQL sont-ils pris en charge ?

L’outil formate la syntaxe SQL courante sans choisir de dialecte. Il préserve les constructions propres aux fournisseurs, mais n’en certifie pas le sens.

Quel est le prix de l’API ?

L’API coûte $0.002 par requête. La version pour navigateur exécute la même logique de formatage déterministe.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/web/sql-format

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/web/sql-format \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"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.active=true group by u.id,u.name order by orders desc;"}'
{
  "query": "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.active=true group by u.id,u.name order by orders desc;"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.sql_format",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

timeout_sec30
max_crawl_pages25
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →