SQL Formatter och beautifier

Klistra in en rörig fråga och få ren SQL med konsekventa indrag. Stöder 17 dialekter, skiftläge för nyckelord och minifiering med ett klick, allt i webbläsaren.

Körs i din webbläsareIngen registreringInget laddas upp

Formaterad SQL

Så använder du SQL-formaterare

  1. Klistra in en eller flera SQL-satser i inmatningsrutan eller öppna en .sql-fil.
  2. Välj din databasdialekt så att dess syntax, som ::-casts, [brackets], backticks eller $$-strängar, tolkas korrekt.
  3. Ställ in skiftläge för nyckelord (VERSALER, gemener eller oförändrat), indrag och antal tomrader mellan satser.
  4. Byt till Minifiera för att ta bort kommentarer och blanktecken för loggar, ORM:er eller URL-parametrar.
  5. Kopiera resultatet eller ladda ner det som en .sql-fil.

Varför formatera SQL?

Frågor som kopieras från ORM-loggar, frågeplaner eller applikationskod kommer oftast som en enda lång rad. Att lägga varje sats (SELECT, FROM, JOIN, WHERE, GROUP BY) på en egen rad och dra in kolumner och villkor gör logiken läsbar. Det ger också mindre diffar vid kodgranskning och hjälper dig att upptäcka ett saknat join-villkor eller ett felplacerat OR.

Stilkonventioner för SQL

  • Nyckelord med versaler (SELECT, WHERE) skiljer SQL-syntax från tabell- och kolumnnamn. De flesta stilguider rekommenderar det, även om gemener är populärt i dbt- och analysteam.
  • En kolumn per rad gör att det blir en diff på en rad att lägga till eller ta bort kolumner.
  • Konsekventa indrag (2 eller 4 mellanslag) i satser och underfrågor visar nästlingen direkt.
  • Satsavslut: avsluta varje sats med ; så att skript med flera satser blir entydiga.

SQL-dialekter som stöds

Standard-SQL, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore och TiDB. Om en fråga inte kan tolkas, prova en mer specifik dialekt: @variables, $1-parametrar och leverantörsspecifika operatorer känns bara igen i sin egen dialekt.

Vad minifieraren gör

Minifieringsläget tar bort ---, #- och /* */-kommentarer, slår ihop blanktecken och radbrytningar till enkla mellanslag och tar bort mellanslag runt kommatecken och parenteser. Strängliteraler och citerade identifierare ('…', "…", `…`, […], $$…$$) kopieras byte för byte, så frågans betydelse ändras aldrig.

Vanliga frågor

Skickas min SQL till en server?
Nej. Formateringen använder öppen källkods-biblioteket sql-formatter som körs i din webbläsare. Frågor som innehåller tabellnamn, kunddata eller inloggningsuppgifter stannar på din dator.
Ändrar formateringen vad frågan gör?
Nej. Bara blanktecken, radbrytningar och (om du vill) nyckelordens skiftläge ändras. Identifierare, strängliteraler och kommentarer behålls som de skrevs.
Varför får jag ett tolkningsfel på giltig SQL?
Frågan använder troligen syntax som är specifik för en annan databas. Välj matchande dialekt, till exempel PostgreSQL för ::type-casts eller SQL Server för [bracketed]-namn och @params.
Kan jag formatera flera satser på en gång?
Ja. Separera satserna med semikolon. Du kan välja hur många tomrader som ska stå mellan dem i resultatet.
Ändrar skiftläget för nyckelord mina kolumnnamn?
Nej. Bara reserverade nyckelord, datatyper och inbyggda funktioner får nytt skiftläge. Tabell- och kolumnnamn behåller sin ursprungliga stavning.

Relaterade verktyg