SQL-formatter

Maak rommelige SQL op tot nette, ingesprongen, leesbare query's. Ideaal voor debuggen, codereviews en documentatie. Werkt met MySQL, PostgreSQL en meer.

Maak SQL weer leesbaar

SQL uit logs, ORM's, BI-tools of het bericht van een collega komt vaak binnen als één lange regel: select u.id,u.name,count(o.id) from users u left join orders o on o.user_id=u.id where u.active=1 group by u.id order by 3 desc. De SQL-formatter verdeelt die over aparte regels, zet elke clausule (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY) op zijn plek en laat hem inspringen, zodat je de logica kunt volgen.

Leesbare SQL is makkelijker te debuggen, te reviewen en te documenteren. Een ontbrekende joinvoorwaarde of een verkeerd geplaatste WHERE zie je veel sneller als de query goed is opgemaakt.

Hij werkt met standaard-SQL zoals gebruikt door MySQL, MariaDB, PostgreSQL, SQLite, SQL Server en andere.

Zo gebruik je de SQL-formatter

  1. Plak je SQL-query.
  2. Verstuur om hem op te maken.
  3. Lees of kopieer de opgemaakte SQL.

Voorbeelden

Een rapportquery op één regel

Invoer:

select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 group by u.id, u.name order by orders desc limit 10

Uitvoer:

select
  u.id,
  u.name,
  count(o.id) as orders
from
  users u
  left join orders o on o.user_id = u.id
where
  u.active = 1
group by
  u.id,
  u.name
order by
  orders desc
limit
  10

Elke clausule krijgt een eigen regel en elke kolom springt in. Sleutelwoorden houden de hoofdletters zoals je ze typte.

Een update

Invoer: UPDATE products SET price = price * 1.1 WHERE category_id IN (3, 7);

Uitvoer:

UPDATE
  products
SET
  price = price * 1.1
WHERE
  category_id IN (3, 7);

Veelvoorkomend gebruik

  • Query's lezen uit applicatielogs of debuguitvoer van een ORM.
  • SQL voorbereiden voor codereviews en pull requests.
  • Documentatie en tutorials schrijven met duidelijke voorbeelden.
  • Lange query's met veel joins en subquery's debuggen.
  • Query's netjes maken voordat je ze in een BI-tool of notebook opslaat.
  • Query's lezen die uit applicatielogs zijn gekopieerd, waar ze vaak op één regel staan.

Tips en goed om te weten

  • Opmaken verandert alleen witruimte. Het valideert de SQL niet en verandert geen resultaten.
  • Haal echte klantgegevens en wachtwoorden uit query's voordat je ze ergens online plakt.
  • Kies een vaste stijl voor je team, zoals sleutelwoorden in hoofdletters en één kolom per regel.
  • Verander de stijl van namen met de hoofdletterconverter, en maak JSON-resultaten op met de JSON-beautifier.

Bijzondere gevallen en beperkingen

  • Sleutelwoorden worden niet in hoofdletters gezet. Gebruikt je team hoofdletters, typ ze dan zo.
  • Meerdere opdrachten gescheiden door puntkomma's worden na elkaar opgemaakt.
  • Opmerkingen blijven behouden. Strings en namen tussen aanhalingstekens worden niet veranderd.

Veelgestelde vragen

Verandert opmaken wat mijn query doet?

Nee. Alleen spaties en regeleinden veranderen, dus de query geeft dezelfde resultaten.

Welke SQL-dialecten worden ondersteund?

Standaard SQL-sleutelwoorden van MySQL, PostgreSQL, SQLite, SQL Server en vergelijkbare databases worden goed opgemaakt.

Controleert hij mijn SQL op fouten?

Nee. Hij maakt de tekst op; voer de query uit in je database om op fouten te controleren.

Moeten SQL-sleutelwoorden in hoofdletters?

Het is niet verplicht, maar sleutelwoorden in hoofdletters zijn een gangbare conventie die query's makkelijker scanbaar maakt.

Gerelateerde tools

Populaire gratis tools