SQL-formatter
Formatteer SQL-query’s voor PostgreSQL, MySQL, SQL Server, Oracle, BigQuery, Snowflake en meer, met opties voor hoofdletters en inspringing, in je browser.
Zo formatteer je een SQL-query
- Plak een of meer query’s, of klik op Bestand openen om een
.sql-bestand te laden (tot 10 MB). - Kies het Dialect van je database, bijvoorbeeld PostgreSQL, MySQL of SQL Server (T-SQL).
- Kies hoe de Sleutelwoorden geschreven worden (HOOFDLETTERS, kleine letters of Zoals getypt) en de Inspringing.
- Vink Geen spaties rond operatoren aan als je
a=b+1liever hebt dana = b + 1. - Klik op SQL formatteren en kopieer of download daarna het resultaat. Als je een optie wijzigt, wordt de query opnieuw geformatteerd.
De query wordt alleen als tekst opnieuw opgemaakt. Hij wordt nooit uitgevoerd en nooit naar een database of server gestuurd.
Wat de formatter doet
De tool gebruikt de opensourcebibliotheek sql-formatter. Die splitst elke instructie op in clausules en zet elk clausulesleutelwoord (SELECT, FROM, WHERE, GROUP BY, ORDER BY…) op een eigen regel, met de inhoud van de clausule ingesprongen eronder. Kolommen in een SELECT-lijst komen elk op een eigen regel, voorwaarden met AND en OR beginnen op een nieuwe regel, en subquery’s en CASE-expressies springen in per nestingsniveau. Korte expressies tussen haakjes blijven op één regel. Meerdere instructies, gescheiden door puntkomma’s, worden uit elkaar gehouden met een lege regel.
Alleen witruimte en hoofdletters veranderen. Tekenreeksen, identifiers tussen aanhalingstekens en commentaar blijven precies zoals ze waren, dus de geformatteerde query geeft hetzelfde resultaat als het origineel.
Waarom het dialect ertoe doet
SQL-databases delen de kern van de taal, maar verschillen in details, en een formatter moet die kennen om de query goed te lezen:
- identifiers staan tussen
"dubbele aanhalingstekens"in standaard-SQL en PostgreSQL, tussen`backticks`in MySQL, MariaDB en BigQuery, en tussen[blokhaken]in SQL Server; - operatoren zoals
->>en de casts met::in PostgreSQL, of padtoegang met:in Snowflake, bestaan maar in sommige dialecten; - parameters worden anders geschreven:
?,$1,:nameof@name; - elk dialect heeft eigen gereserveerde woorden en functies, en die worden door de optie Sleutelwoorden aangepast.
Krijg je de melding “De query kon niet worden gelezen”, controleer dan eerst of het gekozen dialect bij je database past. De fout toont de regel en kolom waar het lezen stopte. Standaard-SQL is de strengste keuze; kies waar mogelijk je echte database.
Hoofdletters en stijltips
Sleutelwoorden in hoofdletters zijn nog altijd de meest gebruikte conventie, omdat ze de taal in één oogopslag onderscheiden van tabel- en kolomnamen. Kleine letters zijn populair in teams die dat prettiger lezen, en Zoals getypt laat je eigen keuze ongemoeid. Namen van tabellen, kolommen en functies worden nooit gewijzigd: alleen gereserveerde sleutelwoorden volgen de optie. Bij lange bestanden maakt een consequente opmaak ook de verschillen tussen versies veel makkelijker te beoordelen.
Veelgestelde vragen
Welke dialecten worden ondersteund?
Standaard-SQL, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), Google BigQuery, Snowflake, Amazon Redshift, IBM Db2, Db2 for i, Apache Hive, Spark SQL, Trino/Presto, DuckDB, ClickHouse, SingleStoreDB, TiDB en Couchbase N1QL.
Controleert de tool of mijn query geldig is?
Nee. De tool controleert of de query in het gekozen dialect te lezen is, maar niet of de tabellen en kolommen bestaan of dat de query zou werken. Dat kan alleen je database bevestigen.
Kan de tool stored procedures formatteren?
Gedeeltelijk. Instructies binnen procedures worden geformatteerd, maar procedurele blokken (BEGIN … END, lussen, DECLARE) worden eenvoudiger opgemaakt dan in een gespecialiseerde IDE.
Wordt mijn query naar een server gestuurd?
Nee. Het formatteren gebeurt in je browser, dus query’s met tabelnamen of gegevens blijven op je computer.
Waarom staat mijn commentaar op een andere plek?
Commentaar blijft behouden, maar commentaar aan het einde van een regel kan meeschuiven met het element waar het achter staat, als dat element naar een nieuwe regel gaat.
Vergelijkbare tools
- JSON formatteren en valideren Gratis JSON-formatter en -validator die JSON in je browser leesbaar maakt, minifyt en controleert, met syntaxfouten gemeld per regel en kolom.
- JavaScript formatteren en minifyen Maak geminifyd JavaScript leesbaar, minify het met Terser of controleer de syntaxis met de exacte regel en kolom van elke fout. Draait alleen in je browser.
- XML-formatter Maak XML netjes op, minificeer en valideer het in je browser. Fouten worden gemeld met regel en kolom. Je bestanden worden nooit geüpload.