Formateur SQL

0 caractères

Le formateur SQL GeekFormat embellit et organise rapidement les requêtes SQL désordonnées. Prend en charge 20 dialectes de bases de données dont MySQL, PostgreSQL, SQLite, SQL Server, Oracle, etc., avec des options de formatage personnalisables telles que la casse des mots-clés, le style d'indentation, le positionnement des sauts de ligne pour les opérateurs et la largeur des expressions. Propose 4 préréglages en un clic avec fonctions intégrées de minification SQL et de validation syntaxique, prend en charge le téléversement/téléchargement de fichiers, le partage d'URL et les raccourcis clavier. Fournit une coloration syntaxique et une disposition de panneau ajustable basée sur l'éditeur CodeMirror 6 avec formatage automatique en temps réel après saisie. Tout le traitement s'effectue localement dans votre navigateur — les instructions SQL ne sont jamais envoyées aux serveurs.

Recommandations connexes

À propos du formatage SQL

Le formatage SQL (SQL Formatting / SQL Beautification) consiste à ajuster les espaces (sauts de ligne, indentation, espaces) et la casse des mots-clés des instructions SQL à l'aide d'outils automatisés pour leur donner une structure de mise en page cohérente et très lisible. En tant que langage de requête déclaratif, une requête SQL complexe implique souvent plusieurs clauses telles que des JOIN multi-tables, des sous-requêtes imbriquées, plusieurs conditions WHERE, le regroupement GROUP BY, le filtrage HAVING, le tri ORDER BY, etc. Sans formatage, tout le contenu entassé sur une ligne ou avec une indentation chaotique altère gravement la lisibilité et l'efficacité de maintenance. Le SQL formaté place chaque clause sur sa propre ligne grâce à des sauts de ligne et une indentation appropriés, exprimant les niveaux d'imbrication par l'indentation, permettant aux lecteurs de comprendre rapidement la structure de la requête.

Pourquoi le formatage SQL est-il important ? Dans les environnements de collaboration en équipe, différents développeurs ont des préférences de style de codage différentes — certains préfèrent les mots-clés en majuscules, d'autres en minuscules ; certains utilisent une indentation de 2 espaces, d'autres de 4 espaces ou Tab ; certains placent AND en début de ligne, d'autres en fin de ligne. Ces différences de style n'affectent pas elles-mêmes l'exécution SQL, mais génèrent de grandes quantités de diff sans signification lors de la revue de code, obligeant les réviseurs à distinguer les véritables changements logiques des simples ajustements de formatage. Des normes de formatage SQL unifiées et des outils de formatage automatisés éliminent les débats de style et permettent aux équipes de se concentrer sur la logique métier elle-même.

Les règles fondamentales du formatage SQL incluent généralement les aspects suivants : Premièrement, la casse des mots-clés — les mots réservés SQL tels que SELECT, FROM, WHERE, JOIN, ON, GROUP BY, ORDER BY, HAVING, LIMIT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP sont généralement en majuscules pour se distinguer des identifiants (ou uniformément en minuscules selon les normes d'équipe) ; Deuxièmement, les sauts de ligne de clauses — chaque clause principale (SELECT/FROM/WHERE/GROUP BY/ORDER BY, etc.) sur sa propre ligne ; Troisièmement, l'alignement des noms de colonnes — plusieurs noms de colonnes dans les listes SELECT occupent chacun une ligne et sont alignés verticalement ; Quatrièmement, les niveaux d'indentation — les sous-requêtes, les conditions JOIN, les expressions CASE imbriquées, etc., reflètent la hiérarchie par une indentation accrue ; Cinquièmement, la position des opérateurs — les opérateurs logiques comme AND/OR uniformément placés en début ou en fin de ligne.

Le formatage SQL pour différents dialectes de bases de données présente ses particularités. MySQL utilise des backticks (`) pour citer les identifiants, PostgreSQL utilise des guillemets doubles ("), SQL Server utilise des crochets ([]) ; MySQL utilise LIMIT pour la pagination, PostgreSQL prend en charge LIMIT/OFFSET, SQL Server utilise TOP ou OFFSET/FETCH, Oracle utilise ROWNUM ; PostgreSQL a l'opérateur de conversion de type ::, MySQL a l'échappement par backtick, SQL Server a des identifiants entre crochets. Ces différences de dialecte exigent que les formateurs reconnaissent les éléments syntaxiques spécifiques à des bases de données particulières, sinon une syntaxe spéciale peut être jugée à tort comme une erreur ou des mots-clés incorrectement séparés. Cet outil est implémenté sur la base de la bibliothèque sql-formatter, fournissant un support syntaxique spécialisé pour 20 dialectes SQL courants.

La minification SQL (SQL Minification) est l'inverse du formatage et très utile dans certains scénarios. Le SQL imprimé dans les journaux d'application, le SQL généré par les frameworks ORM (tels que Hibernate, MyBatis, Django ORM, SQLAlchemy), le SQL capturé par les outils de surveillance des performances de bases de données — ceux-ci sont souvent au format compressé mono-ligne sans saut de ligne, ce qui est très peu convivial pour le dépannage — un formatage est d'abord nécessaire pour la lisibilité. Inversement, lorsqu'il est nécessaire d'intégrer du SQL dans des chaînes de code (telles que la concaténation de chaînes en Java/Python/JavaScript), d'écrire dans des fichiers de configuration, de passer via des paramètres d'URL ou de partager dans des outils de discussion qui ne prennent pas en charge le texte multi-lignes, la compression en une seule ligne évite les problèmes de formatage causés par les sauts de ligne et l'indentation.

Le choix du style de formatage approprié nécessite la prise en compte des normes d'équipe et des scénarios d'utilisation. Le style mots-clés en majuscules est la convention traditionnelle de SQL — à l'époque de l'imprimerie, les mots-clés en majuscules rendaient le SQL manuscrit ou dactylographié plus lisible, et de nombreuses équipes et organisations l'utilisent encore aujourd'hui. Le style mots-clés en minuscules est de plus en plus populaire sur les plateformes de code modernes comme GitHub car les minuscules sont visuellement plus douces et, avec la coloration syntaxique dans les éditeurs modernes, la casse n'est plus nécessaire pour distinguer les mots-clés. Une largeur d'indentation de 2 espaces est plus courante chez les développeurs frontend, 4 espaces plus répandue chez les développeurs backend Java/C#. L'indentation Tab permet à différents développeurs de personnaliser la largeur d'affichage dans les éditeurs. Placer les opérateurs logiques AND/OR en début de ligne facilite le balayage de chaque condition lors de la lecture de longues listes de conditions ; placer en fin de ligne est plus conforme aux habitudes de lecture en anglais.

Les principes d'implémentation des outils de formatage SQL reposent principalement sur l'analyse lexicale (Tokenisation) et l'analyse syntaxique. Des bibliothèques comme sql-formatter décomposent d'abord les chaînes SQL en une série de tokens (mots-clés, identifiants, littéraux, opérateurs, ponctuation, commentaires, etc.), puis réorganisent ces tokens selon des règles syntaxiques (différents dialectes ont différents ensembles de règles), insérant des sauts de ligne et une indentation aux positions appropriées. Contrairement aux formateurs de code génériques (tels que Prettier), les formateurs SQL doivent comprendre les structures grammaticales spécifiques de SQL (telles que les conditions JOIN...ON, les expressions CASE WHEN...END, l'imbrication de parenthèses de sous-requête) pour une indentation correcte, et pas seulement en se basant sur l'appariement des accolades ou des parenthèses.

Les points suivants doivent être notés lors de l'utilisation d'outils de formatage SQL : Premièrement, le formatage ne vérifie pas la correction sémantique du SQL — un SQL avec une syntaxe correcte mais des erreurs logiques (telles que de mauvaises conditions JOIN, des conditions WHERE manquantes) reste incorrect après formatage ; le formatage améliore uniquement la mise en page, pas la logique ; Deuxièmement, les outils de formatage peuvent dans de rares cas limites produire des résultats différents du SQL d'origine dans des scénarios sensibles aux espaces (tels que des espaces dans des constantes de chaîne, des positions de commentaires spécifiques) ; une vérification simple après formatage est recommandée ; Troisièmement, n'exécutez pas le SQL généré par les outils de formatage directement en production sans test, en particulier le SQL contenant des paramètres dynamiques ; Quatrièmement, pour le SQL contenant des données sensibles (mots de passe, clés, PII), utilisez des outils de formatage locaux (comme cet outil) plutôt que des outils en ligne pour éviter les risques de fuite de données.

Cas d'utilisation

  • Organiser de grandes procédures stockées SQL non formatées et des requêtes JOIN complexes lors de la reprise de projets hérités pour comprendre rapidement la logique métier
  • Standardiser le style SQL avant les revues de code d'équipe pour éliminer le bruit de diff causé par les préférences de formatage personnelles et se concentrer sur la revue logique
  • Formater du SQL compressé sur une seule ligne copié depuis des journaux ou des consoles pour une lecture et un dépannage plus faciles
  • Formater des exemples SQL lors de la rédaction de documentation technique et de blogs pour un professionnalisme et une lisibilité améliorés lors de l'intégration dans des documents
  • Reformater du SQL exporté depuis des clients de bases de données avec un formatage désordonné au style standard de l'équipe avant de commiter le code
  • Formater des instructions de démonstration SQL pour les présentations PPT et les explications sur tableau blanc lors de la préparation d'entretiens ou de présentations techniques
  • Formater des sous-requêtes imbriquées désordonnées pour localiser les problèmes structurels comme les parenthèses non appariées ou les mots-clés manquants lors du dépannage SQL
  • Les journaux SQL générés par les frameworks ORM sont souvent au format compressé sans saut de ligne ; formatez-les pour faciliter l'analyse des requêtes réellement exécutées
  • Formater les instructions CREATE TABLE et INSERT pour une maintenabilité améliorée lors du développement de scripts de migration de données
  • Standardiser le formatage avant de comparer des versions SQL de différentes versions pour éviter que des différences de formatage pures n'interfèrent avec la revue de code
  • Formater des requêtes exemples lors de l'apprentissage SQL pour comprendre les relations hiérarchiques de JOIN, sous-requêtes et GROUP BY grâce à une indentation et des sauts de ligne clairs
  • Formater des extraits SQL avant de les partager avec des collègues via des liens URL — les destinataires voient des résultats formatés identiques immédiatement à l'ouverture

Comment utiliser

  1. Sélectionnez un dialecte de base de données (MySQL par défaut, prend en charge 20 dialectes SQL) pour garantir que le formateur reconnaisse correctement la syntaxe
  2. Collez les instructions SQL à formater dans la zone d'édition de gauche, ou cliquez sur le bouton de téléversement pour importer des fichiers .sql/.txt, ou chargez des exemples SQL depuis le menu des exemples
  3. Cliquez sur le bouton de formatage (Shift+Cmd/Ctrl+F) ou attendez le formatage automatique (déclenché automatiquement 800 ms après la saisie), les résultats formatés s'affichent instantanément à droite
  4. Pour ajuster le formatage, cliquez sur le bouton des paramètres pour développer le panneau de configuration, ajustez les options telles que la casse des mots-clés, l'indentation et les sauts de ligne, ou sélectionnez un style prédéfini ; pour la minification sur une seule ligne, cliquez sur le bouton de minification
  5. Cliquez sur le bouton de copie pour copier les résultats, ou cliquez sur le bouton de téléchargement pour enregistrer sous forme de fichier .sql, ou cliquez sur le bouton de partage pour générer un lien URL contenant le contenu SQL

Fonctionnalités

  • Compatibilité avec 20 dialectes de bases de données : Prend en charge la reconnaissance syntaxique et le formatage pour 20 dialectes SQL dont Standard SQL, MySQL, MariaDB, TiDB, PostgreSQL, SQLite, BigQuery, Snowflake, Redshift, DB2, PL/SQL (Oracle), T-SQL (SQL Server), Spark SQL, Hive, Trino, ClickHouse, DuckDB et plus encore
  • Contrôle de la casse des mots-clés : Trois modes pour les mots-clés comme SELECT/FROM/WHERE/JOIN : majuscules (UPPER), minuscules (lower) ou conserver la casse d'origine (preserve), avec configuration séparée pour les types de données et les noms de fonctions
  • Contrôle de la casse des identifiants : Les identifiants tels que les noms de tables, de colonnes et d'alias prennent en charge majuscules, minuscules ou conservation de la casse d'origine, s'adaptant aux différentes normes de codage d'équipe
  • Styles d'indentation sélectionnables : Trois styles d'indentation disponibles : indentation standard, alignement tabulaire à gauche (tabularLeft) et alignement tabulaire à droite (tabularRight) pour s'adapter à différentes préférences de lecture
  • Configuration d'indentation flexible : Choisissez la largeur d'indentation entre 2 espaces, 4 espaces ou le caractère Tab ; définissez le nombre de lignes vides entre les instructions de requête à 0/1/2 lignes
  • Saut de ligne pour les opérateurs logiques : Configurez si les opérateurs logiques comme AND/OR sautent avant (before) ou après (after) l'opérateur pour correspondre au style de code de votre équipe
  • Contrôle de la largeur des expressions : Seuil de largeur de ligne réglable pour le retour à la ligne des expressions (20-200 caractères), retour automatique lorsque la largeur est dépassée pour contrôler la longueur de code sur une seule ligne
  • Mode opérateurs denses : Lorsqu'activé, aucun espace supplémentaire autour des opérateurs pour des résultats de formatage plus compacts, adapté aux scénarios SQL embarqués
  • Saut de ligne avant le point-virgule : Insère optionnellement un saut de ligne avant le point-virgule de fin d'instruction, plaçant le point-virgule sur sa propre ligne pour une identification rapide des limites d'instructions
  • 4 styles prédéfinis : Basculement en un clic entre les préréglages Par défaut (mots-clés UPPER + indentation 2 espaces), Minuscules (tous les mots-clés en minuscules), Compact (alignement tabulaire + opérateurs denses) et Spacieux (indentation 4 espaces + doubles lignes vides) sans ajustement manuel
  • Minification SQL : Compression en un clic de SQL en une seule ligne, supprimant automatiquement les commentaires, les espaces supplémentaires et les sauts de ligne — idéal pour la sortie de journaux, la concaténation de code et l'intégration de documents
  • Validation syntaxique : Validation syntaxique SQL de base, affichage des messages d'erreur en cas d'échec du formatage pour aider à localiser les problèmes syntaxiques
  • Exemples SQL intégrés : Quatre jeux d'exemples SQL fournis : requêtes de base, requêtes JOIN complexes, lots multi-instructions et instructions CREATE TABLE pour une expérience de formatage rapide
  • Téléversement/téléchargement de fichiers : Téléversez des fichiers .sql/.txt pour importer du SQL directement ; téléchargez les résultats formatés sous forme de fichiers .sql pour la sauvegarde
  • Partage d'URL : Encodez le SQL dans le hachage d'URL à l'aide de la compression LZ-String — copiez le lien pour partager la configuration de formatage et le contenu SQL
  • Formatage automatique en temps réel : Formatage automatique avec anti-rebond de 800 ms après la saisie SQL, affichant les résultats instantanément sans clics répétés
  • Raccourcis clavier : Shift+Cmd/Ctrl+F Formater, Shift+Cmd/Ctrl+C Minifier, Shift+Cmd/Ctrl+V Valider, Shift+Cmd/Ctrl+O Téléverser, Shift+Cmd/Ctrl+D Télécharger, Shift+Cmd/Ctrl+K Effacer
  • Éditeur CodeMirror : Éditeur avec coloration syntaxique SQL basé sur CodeMirror 6 avec ajustement par glisser-déposer de la largeur des panneaux gauche/droit, ajustement de la taille de police et panneau d'historique
  • Copie des résultats en un clic : Copiez le SQL formaté ou minifié dans le presse-papiers en un clic pour un collage direct dans les clients de base de données ou le code
  • Traitement 100% local dans le navigateur : Tout le formatage SQL s'effectue en JavaScript dans le navigateur basé sur la bibliothèque sql-formatter ; les instructions SQL ne sont jamais envoyées à un serveur, garantissant la sécurité des données

FAQ

Le formatage SQL modifie-t-il la logique de la requête ? Le SQL formaté peut-il être exécuté directement ?

Il ne modifie pas la logique de la requête. Le formatage SQL ajuste uniquement les espaces (sauts de ligne, indentation, espaces) et la casse des mots-clés ; il ne modifie pas les identifiants, valeurs, opérateurs, appels de fonctions ou structures de requête dans le SQL. Le SQL formaté est sémantiquement équivalent au SQL d'origine et peut être copié directement dans des clients de bases de données tels que MySQL Workbench, pgAdmin, DBeaver, Navicat pour exécution. Cependant, une vérification dans un environnement de test est recommandée avant exécution en production.

Quels dialectes de bases de données sont pris en charge ? Qu'en est-il des différences syntaxiques SQL entre les bases de données ?

Prend en charge 20 dialectes SQL : Standard SQL, MySQL, MariaDB, TiDB, PostgreSQL, SQLite, BigQuery, Snowflake, Redshift, DB2, DB2i, PL/SQL (Oracle), T-SQL (SQL Server), Spark SQL, Hive, Trino, ClickHouse, SingleStoreDB, DuckDB, N1QL (Couchbase). Différentes bases de données présentent des différences de syntaxe de pagination (LIMIT vs LIMIT/OFFSET vs TOP vs ROWNUM), concaténation de chaînes, fonctions de date, guillemets d'identifiants (backticks vs guillemets doubles vs crochets), etc. La sélection du bon dialecte garantit que le formateur identifie correctement les mots-clés et les noms de fonctions et évite de mal formater les fonctions spécifiques au dialecte.

Qu'est-ce que la minification SQL ? En quoi diffère-t-elle du formatage ?

La minification SQL (Minify) est l'inverse du formatage : supprime tous les commentaires (y compris les commentaires multi-lignes /* */ et les commentaires mono-ligne --), fusionne les espaces consécutifs en espaces simples, supprime les espaces supplémentaires autour des parenthèses/virgules/points-virgules/opérateurs, générant un SQL compact sur une seule ligne. La minification convient à des scénarios tels que l'intégration de SQL dans des chaînes de code, l'écriture dans des fichiers journaux, le passage via des paramètres d'URL, le partage dans des fenêtres de discussion pour éviter la confusion des sauts de ligne. Le formatage, quant à lui, ajoute des sauts de ligne et une indentation appropriés pour améliorer la lisibilité.

Quand le formatage automatique se déclenche-t-il ? Peut-il être désactivé ?

Après avoir saisi ou modifié du SQL dans la zone d'édition de gauche, le formatage se déclenche automatiquement après un délai d'anti-rebond de 800 ms (à condition que le formatage précédent n'ait pas eu d'erreur syntaxique). Ceci permet d'afficher les résultats du formatage instantanément après que vous ayez cessé de taper. Si vous préférez le contrôle manuel, cliquez simplement sur le bouton de formatage dans la barre d'outils sans attendre le déclenchement automatique. Il n'existe actuellement pas de commutateur séparé pour désactiver le formatage automatique, mais il ne se redéclenchera pas tant que le contenu saisi ne sera pas modifié.

Que faire en cas d'erreur syntaxique lors d'un échec de formatage ?

Le formateur signale des erreurs lorsqu'il rencontre une syntaxe SQL non analysable. Les causes courantes incluent : 1) Parenthèses non appariées — vérifiez si le nombre de parenthèses gauche et droite correspond ; 2) Chaînes non fermées — vérifiez si les guillemets simples/doubles apparaissent par paires, les guillemets dans les chaînes doivent être échappés (comme '' ou \') ; 3) Mauvaise sélection de dialecte de base de données — par exemple, utilisation de la syntaxe de conversion de type :: spécifique à PostgreSQL avec sélection du dialecte MySQL ; 4) Fragments SQL incomplets — par exemple, uniquement des conditions WHERE sans SELECT FROM. Les messages d'erreur indiquent la position du problème signalée par l'analyseur et la raison, qui peuvent être utilisés pour localiser les problèmes. Vous pouvez également cliquer d'abord sur le bouton de validation (Shift+Cmd/Ctrl+V) pour vérifier la syntaxe.

Comment choisir entre les modes majuscules, minuscules et conserver la casse des mots-clés ?

Les mots-clés en majuscules (UPPER) sont le style de codage SQL le plus traditionnel et le plus populaire — les mots-clés en majuscules comme SELECT/FROM/WHERE/JOIN créent une distinction visuelle avec les noms de tables/colonnes, permettant une localisation rapide de la structure SQL dans de grandes quantités de code. Les mots-clés en minuscules conviennent mieux aux environnements IDE modernes (les éditeurs modernes ont une coloration syntaxique et ne dépendent plus de la distinction par casse) avec une apparence visuelle plus uniforme. Conserver (preserve) laisse votre casse de saisie inchangée, adapté à des ajustements de formatage minimaux sur du code existant. Les stratégies de casse pour les mots-clés, identifiants (noms de tables/colonnes), types de données (VARCHAR/INT/BIGINT) et noms de fonctions (COUNT/SUM/COALESCE) peuvent être configurées indépendamment.

Quelle est la différence entre le mode d'alignement tabulaire et l'indentation standard ?

L'indentation standard (standard) utilise une indentation hiérarchique traditionnelle avec un nombre fixe d'espaces par clause. Les modes d'alignement tabulaire gauche/droite alignent les noms de colonnes dans les listes SELECT, les expressions dans les conditions WHERE, etc., par colonnes, créant un effet visuel de type tableau. Par exemple, plusieurs noms de colonnes après SELECT sont alignés verticalement, et les alias AS sont également alignés sur la même position de colonne. Ce mode est très intuitif lors de la lecture de requêtes multi-colonnes sur des écrans larges, mais peut entraîner des lignes excessivement longues sur des écrans étroits.

Comment basculer rapidement entre le style SQL standard de l'équipe et les préférences personnelles ?

Utilisez les boutons prédéfinis dans le panneau des paramètres : Par défaut (mots-clés UPPER + indentation standard 2 espaces), Minuscules (tous les mots-clés en minuscules), Compact (alignement tabularLeft + opérateurs denses), Spacieux (indentation 4 espaces + doubles lignes vides entre les requêtes). Si votre équipe a des normes spécifiques, ajustez les options manuellement et formatez. La sauvegarde de préréglages personnalisés n'est pas prise en charge actuellement, mais avec des options de configuration limitées, les ajustements rapides sont pratiques.

Le SQL formaté perd-il les commentaires ?

L'opération Formater (Format) préserve les commentaires — les commentaires mono-ligne -- et les commentaires multi-lignes /* */ sont conservés près de leurs positions d'origine (les positions exactes dépendent de la logique de traitement des commentaires de la bibliothèque sql-formatter). Cependant, l'opération Compresser (Compress) supprime tous les commentaires pour générer le SQL mono-ligne le plus compact ; copiez d'abord les résultats formatés si les commentaires doivent être conservés avant la compression.

Quels raccourcis clavier sont pris en charge ? Quelle est la différence entre Mac et Windows/Linux ?

Prend en charge les raccourcis suivants (utilisez la touche Cmd sur Mac, la touche Ctrl sur Windows/Linux, tous nécessitent de maintenir Shift simultanément) : Shift+Cmd/Ctrl+F Formater ; Shift+Cmd/Ctrl+C Minifier ; Shift+Cmd/Ctrl+V Validation syntaxique ; Shift+Cmd/Ctrl+O Téléverser un fichier ; Shift+Cmd/Ctrl+D Télécharger un fichier ; Shift+Cmd/Ctrl+K Effacer le contenu. Cliquez sur l'icône de point d'interrogation dans la barre d'outils pour afficher la liste des raccourcis à tout moment.

Y a-t-il une limite de taille pour les téléversements de fichiers SQL ? Quels formats de fichiers sont pris en charge ?

Prend en charge le téléversement de fichiers texte aux formats .sql et .txt. Il n'y a théoriquement pas de limite de taille stricte pour les fichiers, mais le traitement par le navigateur de très gros fichiers (par exemple, des fichiers de dump SQL dépassant 1 Mo) peut entraîner des problèmes de performance. Le traitement de requêtes individuelles ou de fichiers de script à petite échelle est recommandé. Pour les très gros fichiers SQL (par exemple, des dumps de bases de données complets), divisez-les en segments plus petits avant le formatage. Le contenu du fichier est lu via l'API FileReader du navigateur et n'est jamais envoyé aux serveurs.

La fonction de partage d'URL est-elle sécurisée ? Les serveurs peuvent-ils voir le contenu SQL ?

La fonction de partage d'URL compresse le contenu SQL à l'aide de LZ-String et l'encode dans la partie hachage de l'URL (contenu après #). La partie hachage d'URL a la particularité de ne jamais être envoyée aux serveurs avec les requêtes HTTP et d'être traitée uniquement localement dans le navigateur. Lorsque vous copiez un lien de partage à d'autres, leur navigateur analyse le hachage et le décompresse pour afficher le contenu SQL — le SQL ne traverse aucun serveur pendant tout le processus. Cependant, notez que les liens de partage contiennent le contenu SQL complet ; si le SQL contient des informations sensibles (telles que des mots de passe, clés, données personnelles), ne partagez pas les liens dans des canaux publics.

Des scripts contenant plusieurs instructions SQL peuvent-ils être formatés ?

Oui. L'outil prend en charge le formatage par lots de plusieurs instructions SQL (par exemple, plusieurs instructions SELECT/INSERT/UPDATE/CREATE TABLE séparées par des points-virgules). Vous pouvez contrôler l'espacement entre les instructions (0/1/2 lignes) via l'option "Lignes entre les requêtes" dans le panneau des paramètres. Chargez l'exemple SQL "Multi-instructions" pour expérimenter le formatage multi-instructions. Chaque instruction est indentée et formatée indépendamment, séparée entre les instructions par le nombre de lignes vides configuré.

Quelle taille d'instructions SQL entraîne des ralentissements ?

Basé sur une implémentation JavaScript pure de la bibliothèque sql-formatter, le traitement de SQL de quelques centaines de lignes répond généralement en millisecondes dans les navigateurs modernes sans ralentissement notable. Même les procédures stockées ou les requêtes complexes de plusieurs milliers de lignes se terminent en moins d'1 seconde. Tous les calculs s'effectuent sur le thread principal du navigateur ; les très gros fichiers (par exemple, les dumps SQL dépassant 10 000 lignes) peuvent entraîner un bref gel de l'interface — le traitement par lots est recommandé.

L'outil nécessite-t-il un accès Internet ? Les données SQL sont-elles sécurisées ?

Fonctionne hors ligne après le chargement de la page ; le formatage, la minification et la validation SQL s'effectuent tous en JavaScript local dans le navigateur sans envoyer vos instructions SQL saisies à des serveurs externes. N'utilise pas de suivi Cookie et ne collecte pas le contenu SQL saisi par l'utilisateur. Implémenté sur la base de la bibliothèque open-source mature sql-formatter avec une logique de code transparente et vérifiable.

Dépannage

Que faire en cas d'erreurs de formatage "Parse error" ou "Échec du formatage SQL" ?

Le formateur effectue une analyse SQL basée sur la bibliothèque sql-formatter et signale des erreurs lorsqu'il rencontre une syntaxe non reconnue. Causes courantes et solutions : 1) Parenthèses non appariées — vérifiez si le nombre de parenthèses gauche et droite correspond, utilisez la fonction de surbrillance d'appariement des parenthèses de l'éditeur pour faciliter la vérification ; 2) Guillemets de chaîne non fermés — vérifiez si les guillemets simples/doubles apparaissent par paires, les guillemets dans les chaînes doivent être échappés (comme '' ou \') ; 3) Mauvaise sélection de dialecte de base de données — par exemple, utilisation de l'opérateur :: de PostgreSQL avec le dialecte MySQL sélectionné, passez au bon dialecte ; 4) Instructions SQL incomplètes — par exemple, uniquement la clause WHERE sans SELECT FROM ; 5) Utilisation de syntaxe très spécifique à la base de données (tels que certains flux de contrôle de procédures stockées), essayez de passer au dialecte le plus proche, ou simplifiez les fragments SQL avant le formatage.

Caractères chinois ou spéciaux brouillés après formatage ?

Cet outil prend entièrement en charge l'encodage UTF-8 ; les caractères chinois et Unicode restent inchangés pendant le formatage. Si des caractères brouillés apparaissent, c'est généralement parce que le SQL collé provient lui-même de fichiers avec un encodage incorrect (comme une copie depuis des fichiers encodés en GBK). Assurez-vous que les fichiers source sont enregistrés avec l'encodage UTF-8, ou convertissez les fichiers en encodage UTF-8 avant de coller. L'éditeur CodeMirror côté navigateur utilise par défaut UTF-8 et n'introduit pas de conversion d'encodage.

Aucune réponse ou affichage vide après téléversement du fichier SQL ?

Le téléversement de fichiers ne prend en charge que les fichiers texte avec les extensions .sql et .txt. Si les fichiers sont au format binaire (tels que des fichiers de base de données .sqlite, des documents .doc), ils s'affichent brouillés ou vides après téléversement. De plus, certains navigateurs ont des restrictions de sécurité sur la lecture de fichiers locaux via JavaScript — assurez-vous de sélectionner les fichiers en cliquant activement sur le bouton de téléversement plutôt que par glisser-déposer (le téléversement par glisser-déposer n'est pas pris en charge actuellement). La taille de fichier recommandée ne dépasse pas 1 Mo ; le dépassement peut entraîner une analyse lente du navigateur.

Certains mots-clés deviennent minuscules/majuscules après formatage, incohérents avec la saisie d'origine ?

Ceci est le comportement normal du formatage. L'option Casse des mots-clés (keywordCase) est définie par défaut sur UPPER, ce qui convertit uniformément les mots-clés SQL en majuscules. Si vous souhaitez conserver la casse d'origine inchangée, définissez les options de casse pour les mots-clés, identifiants, types de données, fonctions sur "Conserver (preserve)" dans le panneau des paramètres — de cette façon, le formateur ajuste uniquement les sauts de ligne et l'indentation sans modifier la casse des lettres.

Glossaire

SQL Dialect (Dialecte SQL)
Extensions et variantes de Standard SQL par différents systèmes de gestion de bases de données (SGBD). Par exemple, le LIMIT de MySQL, la conversion de type :: de PostgreSQL, le TOP de SQL Server, le ROWNUM d'Oracle sont toutes des syntaxes spécifiques au dialecte. Une sélection correcte du dialecte pendant le formatage garantit une analyse syntaxique correcte.
Keyword Case (Casse des mots-clés)
Stratégie de casse pour les mots réservés SQL (SELECT/FROM/WHERE/JOIN, etc.). Les majuscules (UPPER) sont le style traditionnel, les minuscules (lower) de plus en plus populaires dans le développement moderne, conserver (preserve) pour des modifications minimales.
Identifier (Identifiant)
Noms d'objets de base de données dans SQL, y compris les noms de bases de données, de tables, de colonnes, alias, noms d'index, de vues, de procédures stockées, etc. Différentes bases de données citent les identifiants différemment : MySQL utilise des backticks, PostgreSQL utilise des guillemets doubles, SQL Server utilise des crochets.
Indent Style (Style d'indentation)
Contrôle l'alignement de l'indentation pendant le formatage SQL. L'indentation standard utilise une progression hiérarchique ; tabularLeft/tabularRight alignent les noms de colonnes et les alias sous forme tabulaire, meilleure lisibilité sur écran large mais peut produire des lignes plus longues.
Logical Operator Newline (Saut de ligne pour opérateurs logiques)
Position de saut de ligne des opérateurs logiques comme AND/OR dans les conditions multi-lignes. before signifie l'opérateur au début de la ligne suivante, after signifie l'opérateur à la fin de la ligne actuelle. Différentes équipes ont des préférences différentes.
Expression Width (Largeur des expressions)
Seuil de nombre de caractères sur une seule ligne déclenchant le retour à la ligne (20-200 caractères). Les expressions dépassant cette largeur sont renvoyées à la ligne, similaire aux paramètres printWidth/ruler dans les éditeurs de code.
Dense Operators (Opérateurs denses)
Une option de formatage qui, lorsqu'elle est activée, ne laisse aucun espace supplémentaire autour des opérateurs (=, <, >, +, -, etc.), comme `WHERE id=1 AND status='active'` au lieu de `WHERE id = 1 AND status = 'active'`, produisant une sortie plus compacte.
Lines Between Queries (Lignes entre les requêtes)
Nombre de lignes vides entre plusieurs instructions SQL. 0 signifie une disposition contiguë, 1 signifie une séparation par une ligne vide (courant), 2 signifie deux lignes vides (style spacieux), affecte la lisibilité des scripts multi-instructions.
SQL Minify/Compress (Minification/Compression SQL)
Supprime tous les commentaires et espaces supplémentaires du SQL formaté, fusionnant en un format compact mono-ligne. Adapté à la sortie de journaux, l'intégration de code, le passage par URL, etc. — opération inverse du formatage.
Pretty Print (Impression jolie)
Sortie de code ou de données dans un format très lisible par indentation automatique et sauts de ligne. Le SQL Pretty Print est l'embellissement de formatage SQL, opposé à Minify (compression).
CodeMirror
Composant d'éditeur de code côté navigateur (version 6) utilisé par cet outil, fournissant la coloration syntaxique SQL, l'affichage des numéros de ligne, le pliage de code et d'autres améliorations d'édition — solution d'éditeur de code Web largement utilisée dans l'industrie.
sql-formatter
Bibliothèque open-source de formatage SQL utilisée au cœur de cet outil, prenant en charge l'analyse lexicale et la sortie formatée pour plusieurs dialectes SQL — l'une des bibliothèques de formatage SQL les plus populaires de l'écosystème frontend.

Liste des dialectes SQL pris en charge

L'outil prend en charge 20 dialectes SQL de bases de données — la sélection du dialecte correspondant à votre base de données donne des résultats de formatage optimaux :

DialecteBase de donnéesDescription
Standard SQLStandard SQLSyntaxe standard ANSI SQL, adaptée aux scénarios généraux et aux dialectes inconnus
MySQLMySQL / TiDBBase de données relationnelle open-source la plus populaire, identifiants par backtick, pagination LIMIT
MariaDBMariaDBFork de MySQL, syntaxe compatible MySQL avec des fonctions étendues
PostgreSQLPostgreSQLBase de données open-source riche en fonctionnalités, identifiants par guillemets doubles, conversion de type ::
SQLiteSQLiteBase de données légère embarquée, couramment utilisée dans les applications mobiles et les navigateurs
T-SQLSQL Server / AzureTransact-SQL de Microsoft SQL Server, identifiants entre crochets, pagination TOP
PL/SQLOracleExtension SQL procédurale d'Oracle, pagination ROWNUM, packages intégrés riches
BigQueryGoogle BigQueryEntrepôt de données Google Cloud, prend en charge les types imbriqués comme STRUCT/ARRAY
SnowflakeSnowflakeEntrepôt de données cloud-natif avec de fortes capacités de traitement de données semi-structurées
RedshiftAWS RedshiftEntrepôt de données Amazon Web Services, basé sur PostgreSQL mais avec une syntaxe propriétaire

Comparaison des styles de formatage prédéfinis

4 préréglages en un clic pour différents scénarios d'utilisation :

PréréglageMots-clésIndentationOpérateursEspacement requêtes
Par défautUPPER2 espaces StandardEspacement normal1 ligne vide
Minusculeslower2 espaces StandardEspacement normal1 ligne vide
CompactUPPERTabulaire GaucheMode dense1 ligne vide
SpacieuxUPPER4 espaces StandardEspacement normal2 lignes vides

Aperçu des raccourcis clavier

Tous les raccourcis nécessitent de maintenir simultanément la touche de modification + Shift + la lettre correspondante :

ActionMacWindows/LinuxDescription
Formater⇧⌘FShift+Ctrl+FEmbellir les instructions SQL, ajouter sauts de ligne et indentation
Minifier⇧⌘CShift+Ctrl+CCompresser SQL en une ligne, supprimer commentaires et espaces
Valider⇧⌘VShift+Ctrl+VVérifier la correction syntaxique SQL
Téléverser⇧⌘OShift+Ctrl+OCharger .sql/.txt depuis un fichier local
Télécharger⇧⌘DShift+Ctrl+DEnregistrer les résultats sous forme de fichier .sql
Effacer⇧⌘KShift+Ctrl+KEffacer le contenu d'entrée et de sortie

Privacy & Security

Toutes les opérations de ce formateur SQL s'effectuent entièrement localement dans votre navigateur : les instructions SQL que vous saisissez, le dialecte sélectionné et la configuration de formatage sont tous traités en JavaScript dans le navigateur via la bibliothèque sql-formatter, sans envoyer de contenu SQL ou de configuration à des serveurs externes sur le réseau. Le téléversement de fichiers lit le contenu des fichiers locaux via l'API HTML5 FileReader sans transmission réseau. La fonction de partage d'URL encode le SQL compressé dans la partie hachage de l'URL (le contenu après # n'est jamais envoyé aux serveurs avec les requêtes HTTP), uniquement décompressé et affiché localement dans le navigateur. N'utilise pas de suivi Cookie et ne collecte pas le contenu SQL saisi par l'utilisateur ou les données de comportement d'utilisation. Après fermeture ou actualisation de la page, le contenu saisi et l'état de la configuration sont automatiquement réinitialisés (les enregistrements d'historique sont uniquement enregistrés dans le localStorage local).

Authoritative References