DevToolPal
NL

SQL-formatter

Maak SQL-query’s netjes op voor MySQL, PostgreSQL, SQL Server, Oracle, SQLite, BigQuery en meer.

Draait lokaal, wordt nooit geüpload

Opties

Invoer

0 tekens · 0 B

Uitvoer

0 tekens · 0 B

Wat het doet

De SQL-formatter maakt van een lange query op één regel een leesbare, consequent ingesprongen query. Elke clausule (SELECT, FROM, WHERE, GROUP BY, ORDER BY) begint op een eigen regel, geselecteerde kolommen en voorwaarden staan elk op een eigen regel, joins staan uitgelijnd onder de tabel die ze joinen en subquery’s worden binnen hun haakjes ingesprongen.

Opgemaakte SQL is makkelijker te reviewen in pull requests, te debuggen als een query de verkeerde rijen teruggeeft, en in documentatie te plakken. Het helpt ook als je een query kopieert uit een ORM-log of een foutmelding van een applicatie, waar alles op één regel staat.

Zo gebruik je het

  1. Plak een of meer SQL-statements in het vak Invoer, sleep er een .sql-bestand op of klik op Voorbeeld.
  2. Kies het Dialect van je database.
  3. Kies voor Sleutelwoorden HOOFDLETTERS, kleine letters of laat ze zoals getypt. Functienamen zoals COUNT volgen dezelfde instelling.
  4. Kies 2 spaties, 4 spaties of tabs voor Inspringing.
  5. Kopieer het resultaat of download het als .sql-bestand. Sneltoetsen: Ctrl/Cmd+Enter maakt op, Ctrl/Cmd+Shift+C kopieert.

Meerdere statements die door puntkomma’s gescheiden zijn, worden met een lege regel uit elkaar gehouden. Commentaar blijft staan waar het staat.

Voorbeeld

select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id group by u.id

wordt

SELECT
  u.id,
  COUNT(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
GROUP BY
  u.id

Tips

Sleutelwoorden in hoofdletters laten clausules opvallen tussen tabel- en kolomnamen; dat is de meest gangbare teamconventie. Schrijft je team SQL in kleine letters, kies dan kleine letters en de hele query sluit daarop aan. Meldt de formatter een onverwacht token, controleer dan of het dialect klopt: namen tussen backticks zijn bijvoorbeeld geldig in MySQL, maar niet in standaard-SQL.

Veelgestelde vragen

› Wordt mijn SQL naar een server gestuurd?

Nee. De formatter draait in je browser, dus query's die tabelnamen, klantgegevens of bedrijfslogica prijsgeven blijven op je apparaat.

› Welke SQL-dialecten worden ondersteund?

Standaard-SQL, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift en Spark SQL. Het juiste dialect kiezen helpt bij dialectspecifieke syntaxis zoals identifiers tussen backticks, ::-casts of namen tussen vierkante haken.

› Verandert opmaken wat de query doet?

Nee. Alleen witruimte verandert en, als je dat kiest, het hoofdlettergebruik van sleutelwoorden en functienamen. Identifiers, stringliterals en commentaar blijven precies zoals ze geschreven zijn.

› Waarom krijg ik ‘Unexpected end of input’?

Meestal is er een haakje of aanhalingsteken niet gesloten. De fout wijst naar het eind van de query; zoek het laatste openende ( of ' zonder partner.