Formatter SQL en Ligne
Formate tes requetes SQL avec une indentation correcte et les mots-cles en majuscules.
.pdf · jusqu'à 2 Go
Pourquoi l'utiliser
Un SQL lisible pour des equipes plus productives
Indentation automatique
Chaque clause sur sa propre ligne, sous-requetes avec niveau supplementaire. Lisibilite immediate.
Prive
Ton SQL est traite dans ton navigateur. Il n'est jamais envoye a un serveur.
Multi-dialecte
MySQL, PostgreSQL, SQL Server, SQLite et plus. Formatage specifique par dialecte.
Instantane
Resultat en quelques millisecondes. Sans attente, sans inscription.
Comment ça marche
Trois étapes, sans complications
Colle ta requete SQL
Colle ton SQL directement dans l'editeur. Compatible avec SELECT, INSERT, UPDATE, DELETE, CREATE et les sous-requetes.
Choisis le dialecte SQL
Selectionne MySQL, PostgreSQL, SQL Server, SQLite ou un autre dialecte pour un formatage precis.
Copie le SQL formate
Le SQL apparait correctement indente avec les mots-cles en majuscules. Copie en un clic.
FAQ
Des questions ?
Le formatage SQL reorganise les requetes en ajoutant une indentation coherente, en mettant les mots-cles en majuscules (SELECT, FROM, WHERE, JOIN), en inserant des sauts de ligne entre les clauses et en alignant les colonnes. Le resultat est fonctionnellement identique a l'original mais beaucoup plus lisible, ce qui facilite la relecture, le debogage et la maintenance des requetes complexes.
Oui. Les requetes SELECT sont formatees en developpant chaque clause sur sa propre ligne (SELECT, FROM, WHERE, GROUP BY, ORDER BY) et en indentant les colonnes. Les requetes INSERT alignent les champs et les valeurs. Les instructions UPDATE separent chaque SET sur sa propre ligne. Les sous-requetes recoivent un niveau d'indentation supplementaire pour indiquer leur hierarchie dans la requete principale.
La convention d'ecrire les mots-cles SQL en majuscules (SELECT, FROM, WHERE) remonte aux annees 1970 chez IBM avec le langage SEQUEL, predecesseur de SQL. Sur les terminaux de l'epoque, les majuscules amelioraient visuellement la lisibilite en distinguant les commandes du langage des noms de tables et de colonnes. Bien que les moteurs SQL modernes ne soient pas sensibles a la casse pour les mots-cles, cette convention persiste dans les guides de style SQL de Google, Airbnb et la plupart des equipes data.
Les sous-requetes sont indentees d'un niveau supplementaire par rapport a la requete parente. Une sous-requete dans une clause WHERE recoit 4 ou 8 espaces d'indentation selon le style choisi. Les sous-requetes correlees (qui referencent des colonnes de la requete externe) sont marquees visuellement avec des commentaires dans certains formateurs. Les CTEs (Common Table Expressions) utilisant WITH sont listes un par ligne avant la requete principale.
Oui. Certains ORM et systemes de cache de requetes tirent parti du SQL minifie (sans espaces ni sauts de ligne superflus) pour comparer les requetes par hash ou reduire le trafic dans les protocoles de base de donnees. Le SQL minifie facilite aussi l'inclusion de requetes dans des chaines de code sans caracteres d'echappement. La minification SQL supprime les commentaires, reduit les espaces multiples en un seul et elimine les sauts de ligne tout en preservant la semantique exacte.
Histoire de SQL et l'art du formatage de requetes
SQL a ete concu par E.F. Codd en 1970 chez IBM comme langage pour le modele relationnel. Le premier systeme a implementer SQL fut IBM System R (1974-1979), ou le langage s'appelait SEQUEL (Structured English Query Language). Le nom a ete change en SQL pour des raisons de marque deposee. En 1986, la norme SQL-86 a ete publiee par l'ANSI, suivie de SQL-89, SQL-92 (qui a ajoute les JOINs explicites), SQL:1999 (fonctions fenetres, expressions regulieres), SQL:2003 (CTEs, MERGE) et la derniere norme SQL:2023.
L'optimisation des requetes et la lisibilite SQL sont etroitement liees. Les plans d'execution generes par le moteur de base de donnees dependent de la facon dont les requetes sont ecrites : un JOIN bien indente revele immediatement si une condition de jointure est manquante (ce qui produirait un couteux produit cartesien). Les guides de style SQL de GitLab, Kickstarter et Yelp stipulent que le formatage coherent est obligatoire lors des revues de code, car des requetes mal formatees dans des migrations ont provoque des pannes en production dues a des erreurs difficiles a detecter visuellement.
L'ecosysteme des outils de formatage SQL comprend sql-formatter (npm, de Nikita Galaiko), pgFormatter (Perl, specifique a PostgreSQL), SQLFluff (Python, compatible dbt et Jinja) et des plugins pour les IDE comme DataGrip et DBeaver. SQL:2023 a introduit la prise en charge native des donnees JSON (JSON_TABLE, IS JSON) et des graphes de proprietes (SQL/PGQ), elargissant les cas d'usage au-dela des requetes relationnelles traditionnelles et augmentant la complexite qui rend le formatage automatique indispensable.