SQL Formatter & Beautifier

Indsæt en rodet forespørgsel, og få ren SQL med ensartet indrykning. Understøtter 17 dialekter, store/små bogstaver i nøgleord og minificering med ét klik, alt i din browser.

Kører i din browserIngen tilmeldingIntet uploades

Formateret SQL

Sådan bruger du SQL Formatter

  1. Indsæt en eller flere SQL-sætninger i inputfeltet, eller åbn en .sql-fil.
  2. Vælg din databasedialekt, så dens syntaks, f.eks. ::-casts, [brackets], backticks eller $$-strenge, parses korrekt.
  3. Angiv store/små bogstaver for nøgleord (UPPER, lower eller bevar), indrykning og antallet af tomme linjer mellem sætninger.
  4. Skift til Minificér for at fjerne kommentarer og mellemrum til logs, ORM'er eller URL-parametre.
  5. Kopiér resultatet, eller download det som en .sql-fil.

Hvorfor formatere SQL?

Forespørgsler kopieret fra ORM-logs, forespørgselsplaner eller applikationskode kommer som regel som én lang linje. Når hver klausul (SELECT, FROM, JOIN, WHERE, GROUP BY) står på sin egen linje, og kolonner og betingelser er indrykket, bliver logikken læsbar. Det gør også diffs i kodegennemgang mindre og hjælper dig med at opdage en manglende join-betingelse eller et forkert placeret OR.

Stilkonventioner for SQL

  • Nøgleord med store bogstaver (SELECT, WHERE) adskiller SQL-syntaks fra tabel- og kolonnenavne. De fleste stilguides anbefaler det, selvom små bogstaver er populære i dbt- og analyseteams.
  • Én kolonne pr. linje gør det at tilføje eller fjerne kolonner til et diff på én linje.
  • Ensartet indrykning (2 eller 4 mellemrum) i klausuler og underforespørgsler viser indlejringen med et enkelt blik.
  • Sætningsafslutning: afslut hver sætning med ;, så scripts med flere sætninger er entydige.

Understøttede SQL-dialekter

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 og TiDB. Hvis en forespørgsel ikke kan parses, så prøv en mere specifik dialekt: @variables, $1-parametre og leverandørspecifikke operatorer genkendes kun i deres egen dialekt.

Hvad minificeringen gør

Minificeringstilstanden fjerner ---, #- og /* */-kommentarer, sammenfolder mellemrum og linjeskift til enkelte mellemrum og fjerner mellemrum omkring kommaer og parenteser. Strengliteraler og citerede identifikatorer ('…', "…", `…`, […], $$…$$) kopieres byte for byte, så forespørgslens betydning aldrig ændres.

Ofte stillede spørgsmål

Bliver min SQL sendt til en server?
Nej. Formateringen bruger open source-biblioteket sql-formatter, der kører i din browser. Forespørgsler med tabelnavne, kundedata eller loginoplysninger bliver på din maskine.
Ændrer formatering, hvad forespørgslen gør?
Nej. Kun mellemrum, linjeskift og (hvis du vælger det) store/små bogstaver i nøgleord ændres. Identifikatorer, strengliteraler og kommentarer bevares som skrevet.
Hvorfor får jeg en parsefejl på gyldig SQL?
Forespørgslen bruger sandsynligvis syntaks, der er specifik for en anden database. Vælg den matchende dialekt, f.eks. PostgreSQL til ::type-casts eller SQL Server til [bracketed]-navne og @params.
Kan jeg formatere flere sætninger på én gang?
Ja. Adskil sætningerne med semikolon. Du kan vælge, hvor mange tomme linjer der skal stå mellem dem i outputtet.
Ændrer store/små bogstaver i nøgleord mine kolonnenavne?
Nej. Kun reserverede nøgleord, datatyper og indbyggede funktioner ændres. Tabel- og kolonnenavne beholder deres oprindelige stavemåde.

Relaterede værktøjer