Formateur SQL

Embellissez votre SQL et relisez-le clause par clause en langage clair.

Entrée SQL

Indentation
Mots-clés
query.sql
Vue
Collez une requête pour la formater ou l’expliquer.

Votre SQL est mis en forme et analysé dans votre navigateur. Rien n’est envoyé à BroBroGo.

FAQ

Quels dialectes SQL peut-il mettre en forme ?

SQL standard, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake et Spark SQL. Choisissez celui qui correspond à votre base pour que les mots-clés et les guillemets soient traités comme l’attend ce moteur.

Comment fonctionne l’explication en langage clair ?

Elle lit la structure de la requête — le type d’instruction et chaque clause comme SELECT, FROM, JOIN, WHERE, GROUP BY et ORDER BY — et décrit le rôle de chacune. Elle décrit la forme de la requête, pas un plan d’exécution de la base, et fonctionne donc même sur du SQL partiel ou propre à un moteur.

Peut-on coller des requêtes de production sans risque ?

Oui. La mise en forme et l’analyse s’exécutent entièrement dans votre navigateur : votre SQL ne quitte jamais la page.

L’importance d’un code SQL lisible pour la collaboration et le débogage

Un code SQL mal aligné, écrit sur une seule ligne ou mélangeant de manière incohérente les majuscules et les minuscules complique inutilement la maintenance des bases de données. Pour les développeurs, analystes de données, administrateurs de bases de données (DBA) et personnels d’assistance, la lisibilité du code est un facteur déterminant pour identifier rapidement les anomalies de logique ou optimiser les temps de traitement.

Lorsque plusieurs collaborateurs travaillent sur un même projet, l’application d’une convention de style uniforme réduit le temps nécessaire à la relecture du code. Un formateur automatique permet d’éliminer les débats sur le style en appliquant instantanément des règles d’indentation et de casse standardisées. De plus, lors des phases de débogage, un code SQL correctement structuré permet d’isoler visuellement chaque clause et de repérer les erreurs de jointure ou les filtres manquants qui pourraient altérer les résultats d’une requête.


Configuration des paramètres de mise en forme et dialectes supportés

Le comportement de mise en forme s’adapte précisément à vos besoins grâce à plusieurs options de configuration applicables à l’entrée SQL, dont la longueur maximale est fixée à 300 000 caractères:

  • Dialecte: Le choix du dialecte garantit que les mots-clés spécifiques et les règles de délimitation propres à chaque moteur de base de données soient respectés. Le outil prend en charge dix dialectes: Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake et Spark SQL.
  • Indentation: Vous pouvez définir le style d’espacement pour structurer les blocs de code imbriqués, avec trois choix possibles: 2 espaces, 4 espaces ou tabulation.
  • Mots-clés: Permet d’harmoniser la casse des instructions SQL. Les options disponibles sont MAJ (pour forcer les majuscules), min (pour forcer les minuscules) ou Garder (pour conserver la casse d’origine).

Analyse structurelle et explication clause par clause

Au-delà de la simple réorganisation esthétique, l’outil propose une décomposition pédagogique de la requête sous forme d’explication textuelle. Cette fonctionnalité se distingue fondamentalement d’un plan d’exécution de base de données: elle n’analyse pas la performance ni la manière dont le moteur va exécuter physiquement la requête sur un disque, mais détaille la structure logique et le rôle de chaque clause en langage clair. Cette approche permet d’analyser et de comprendre des requêtes partielles ou spécifiques à un éditeur sans avoir besoin d’être connecté à un serveur actif.

L’analyse identifie d’abord la nature globale de chaque instruction (le type d’instruction):

Type d’instruction Description associée par l’outil
SELECT Une requête qui lit et renvoie des lignes sans rien modifier.
INSERT Ajoute de nouvelles lignes à une table.
UPDATE Modifie les valeurs de lignes déjà existantes.
DELETE Supprime des lignes d’une table.
CREATE Définit un nouvel objet: table, vue ou index.
ALTER Modifie la définition d’un objet existant.
DROP Supprime définitivement un objet de la base.
TRUNCATE Vide une table en supprimant toutes ses lignes.
WITH Crée un résultat temporaire nommé (CTE) pour la requête qui suit.
MERGE Insère, met à jour ou supprime des lignes en une seule opération.
OTHER Une instruction SQL.

Ensuite, l’outil détaille le rôle de chaque clause présente au sein de l’instruction:

  • SELECT: Les colonnes et expressions renvoyées.
  • SELECT DISTINCT: Les colonnes renvoyées, sans les doublons.
  • FROM: La table (ou sous-requête) d’où les données sont lues.
  • JOIN: Associe chaque ligne aux lignes correspondantes d’une autre table.
  • WHERE: Ne garde que les lignes qui remplissent cette condition.
  • GROUP BY: Regroupe les lignes pour calculer des agrégats comme COUNT ou SUM par groupe.
  • HAVING: Filtre ces groupes une fois les agrégats calculés.
  • ORDER BY: Trie les lignes du résultat.
  • LIMIT: Limite le nombre de lignes renvoyées.
  • OFFSET: Ignore un certain nombre de lignes avant de renvoyer les résultats.
  • UNION: Combine ces résultats avec ceux d’une autre requête.
  • VALUES: Les valeurs des lignes insérées.
  • INTO: La table qui reçoit les nouvelles lignes.
  • SET: Les nouvelles valeurs de colonnes à affecter.
  • UPDATE: La table dont les lignes sont modifiées.
  • DELETE FROM: La table dont les lignes sont supprimées.
  • WITH: Définit un résultat temporaire nommé utilisé plus bas.
  • STATEMENT: L’instruction, telle quelle.

Gestion des erreurs, limites et persistance locale

Le traitement du code SQL est soumis à des règles strictes pour garantir la stabilité de l’application:

  • Limites de taille: Si le texte saisi dépasse la limite de 300 000 caractères, le traitement s’interrompt et le message suivant s’affiche: « Cette requête est trop volumineuse à traiter. Essayez-en une plus petite. ».
  • Erreurs de syntaxe: Si le code SQL comporte des erreurs de syntaxe empêchant son analyse, l’outil affiche le message: « Impossible de formater ce SQL — vérifiez la syntaxe. ». Dans ce cas, afin de ne pas perdre votre travail en cours, l’affichage du résultat précédent n’est pas remplacé par le message d’erreur.
  • Réinitialisation: L’action sur le bouton « Effacer » réinitialise l’interface. Elle vide simultanément les zones de saisie et de résultat, masque les détails des erreurs et affiche la mention « Effacé. ».
  • Limitation de l’explication: Pour les scripts contenant de nombreuses instructions, l’analyse structurelle est limitée aux 25 premières requêtes. Si ce seuil est dépassé, l’outil affiche la mention « Seules les 25 premières sont affichées. ».
  • Persistance: Vos préférences d’affichage (comme le choix du thème) ainsi que vos brouillons de requêtes sont automatiquement sauvegardés localement dans votre navigateur web.

Confidentialité et traitement des données

La sécurité de vos données et de vos requêtes de production est préservée par l’architecture même de l’outil. La mise en forme, l’analyse syntaxique et la génération des explications textuelles s’exécutent entièrement dans votre navigateur internet. Aucune donnée saisie, aucun fragment de code SQL ni aucune structure de table n’est envoyé à BroBroGo. Votre SQL ne quitte jamais la page.


FAQ

Quels dialectes SQL peut-il mettre en forme?
SQL standard, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake et Spark SQL. Choisissez celui qui correspond à votre base pour que les mots-clés et les guillemets soient traités comme l’attend ce moteur.

Comment fonctionne l’explication en langage clair?
Elle lit la structure de la requête — le type d’instruction et chaque clause comme SELECT, FROM, JOIN, WHERE, GROUP BY et ORDER BY — et décrit le rôle de chacune. Elle décrit la forme de la requête, pas un plan d’exécution de la base, et fonctionne donc même sur du SQL partiel ou propre à un moteur.

Peut-on coller des requêtes de production sans risque?
Oui. La mise en forme et l’analyse s’exécutent entièrement dans votre navigateur: votre SQL ne quitte jamais la page.