SQL-formaterer

Formater SQL og les en forklaring ledd for ledd på vanlig norsk.

SQL-inndata

Innrykk
Nøkkelord
query.sql
Visning
Lim inn en spørring for å formatere eller forklare den.

SQL-koden din formateres og analyseres lokalt i nettleseren din. Ingenting sendes til BroBroGo.

Ofte stilte spørsmål

Hvilke SQL-dialekter kan formateres?

Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake og Spark SQL. Velg den som samsvarer med databasen din, slik at nøkkelord og anførselstegn håndteres slik motoren forventer.

Hvordan fungerer forklaringen på vanlig norsk?

Den leser spørringsstrukturen – setningstypen og hvert ledd som SELECT, FROM, JOIN, WHERE, GROUP BY og ORDER BY – og beskriver hva hver del gjør. Den beskriver formen på spørringen, ikke en faktisk kjøreplan i databasen, så den fungerer også på ufullstendig eller leverandørspesifikk SQL.

Er det trygt å lime inn spørringer fra produksjon?

Ja. Formatering og analyse kjøres i sin helhet i nettleseren din – SQL-koden din forlater aldri siden.

Viktigheten av lesbar SQL-kode i utvikling og samarbeid

Ustrukturert SQL-kode med inkonsekvent bruk av store og små bokstaver, manglende innrykk og uoversiktlige linjeskift er utfordrende å lese, feilsøke og vedlikeholde. Når databasedesignere, utviklere, dataanalytikere og supportpersonell samarbeider om komplekse systemer, blir kildekodens lesbarhet avgjørende for å unngå misforståelser. En strukturert formatering gjør det raskt å identifisere tabellskjøter, filtreringsbetingelser og aggregeringer.

Dette verktøyet løser problemet ved å transformere uoversiktlig SQL til en strukturert og lettlest kodeblokk direkte i nettleseren. Ved å standardisere kildekoden reduseres tidsbruken på feilsøking, og det blir enklere for andre teammedlemmer å sette seg inn i eksisterende spørringer.


Støttede SQL-dialekter og formateringsvalg

Ulike databasesystemer har unike syntaksregler, funksjoner og måter å håndtere identifikatorer på. For å sikre et nøyaktig resultat støtter verktøyet ti spesifikke SQL-dialekter:

  • Standard SQL
  • PostgreSQL
  • MySQL
  • MariaDB
  • SQL Server (T-SQL)
  • Oracle (PL/SQL)
  • SQLite
  • BigQuery
  • Snowflake
  • Spark SQL

Brukeren kan tilpasse formateringen gjennom følgende innstillinger:

  • Innrykk: Velg mellom 2 mellomrom, 4 mellomrom eller tabulator (tab).
  • Nøkkelord: Velg om SQL-nøkkelord skal konverteres til STORE BOKSTAVER, små bokstaver, eller om man skal beholde opprinnelig skrivemåte (Behold).

Maksimal tillatt lengde på SQL-inndata som kan behandles er 300 000 tegn. Hvis denne grensen overskrides, viser verktøyet feilmeldingen: "Denne spørringen er for stor til å behandles. Prøv en mindre.". Dersom koden inneholder syntaksfeil som hindrer formatering, vises meldingen: "Kunne ikke formatere denne SQL-en – sjekk syntaksen.". Ved feil vil det forrige vellykkede resultatet forbli synlig i grensesnittet.


Analyse av spørringens struktur ledd for ledd

I tillegg til ren formatering tilbyr verktøyet en funksjon som forklarer spørringen på vanlig norsk. Denne analysen skiller seg fra en tradisjonell kjøreplan (execution plan) i en database. Mens en kjøreplan beskriver den fysiske utførelsen og indeksbruken i databasmotoren, tar denne analysen for seg selve spørringsstrukturen. Dette gjør at forklaringen fungerer uavhengig av databasetilkobling, og den kan analysere ufullstendige eller leverandørspesifikke SQL-setninger.

Når en spørring analyseres, viser verktøyet statusen "Forklarte {count} setning(er).". Hvis en spørring inneholder flere setninger, merkes hver del med "Setning {n}". Dersom inndataene inneholder mer enn 25 setninger, vil verktøyet begrense analysen og vise merknaden "Bare de første 25 vises.".


Forklaring av setningstyper og leddenes funksjon

Verktøyet kategoriserer først setningstypen (Kind) og beskriver deretter rollen til hvert enkelt ledd (Role) i spørringen.

Setningstyper (Kind)

Verktøyet identifiserer og forklarer formålet med følgende SQL-setninger:

Setningstype Beskrivelse i verktøyet
SELECT En spørring som leser og returnerer rader uten å endre noe.
INSERT Legger til nye rader i en tabell.
UPDATE Endrer verdier i rader som allerede eksisterer.
DELETE Sletter rader fra en tabell.
CREATE Definerer et nytt objekt, for eksempel en tabell, visning eller indeks.
ALTER Endrer definisjonen av et eksisterende objekt.
DROP Sletter et objekt permanent fra databasen.
TRUNCATE Tømmer en tabell ved å slette alle rader.
WITH Oppretter et navngitt midlertidig resultat (CTE) for spørringen som følger.
MERGE Setter inn, oppdaterer eller sletter rader i én kombinert operasjon.
OTHER En SQL-setning.

Leddenes funksjon (Role)

For hver setning brytes koden ned i mindre klausuler, der funksjonen til hvert ledd forklares:

  • SELECT: Kolonnene og uttrykkene som returneres.
  • SELECT DISTINCT: Kolonnene som returneres, der dupliserte rader er fjernet.
  • FROM: Tabellen (eller delspørringen) som dataene leses fra.
  • JOIN: Kombinerer hver rad med samsvarende rader fra en annen tabell.
  • WHERE: Beholder kun rader som oppfyller denne betingelsen.
  • GROUP BY: Slår sammen rader til grupper slik at aggregerte verdier som COUNT eller SUM kan beregnes per gruppe.
  • HAVING: Filtrerer disse gruppene etter at de aggregerte verdiene er beregnet.
  • ORDER BY: Sorterer de resulterende radene.
  • LIMIT: Begrenser hvor mange rader som returneres.
  • OFFSET: Hopper over et visst antall rader før resultatene returneres.
  • UNION: Kombinerer disse resultatene med resultatene fra en annen spørring.
  • VALUES: Radverdiene som settes inn.
  • INTO: Tabellen som mottar de nye radene.
  • SET: De nye kolonneverdiene som skal tildeles.
  • UPDATE: Tabellen der rader blir endret.
  • DELETE FROM: Tabellen som rader slettes fra.
  • WITH: Definerer et navngitt midlertidig resultatsett som brukes nedenfor.
  • STATEMENT: Setningen, vist som den er.

Personvern og lokal databehandling

Når du arbeider med sensitive databasestrukturer eller proprietære spørringer, er personvern en kritisk faktor. SQL-koden din formateres og analyseres lokalt i nettleseren din. Ingenting sendes til BroBroGo.

Siden all prosessering foregår på klientsiden, forlater SQL-koden din aldri siden. Verktøyet lagrer i tillegg utkast og temapreferanser lokalt i nettleseren din, slik at du beholder innstillingene dine til neste besøk. Ved å klikke på "Tøm" slettes innholdet i både inndata- og utdatafeltene, eventuelle feilmeldinger skjules, og statusen "Tømt." vises.


Ofte stilte spørsmål (FAQ)

Hvilke SQL-dialekter kan formateres?

Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake og Spark SQL. Velg den som samsvarer med databasen din, slik at nøkkelord og anførselstegn håndteres slik motoren forventer.

Hvordan fungerer forklaringen på vanlig norsk?

Den leser spørringsstrukturen – setningstypen og hvert ledd som SELECT, FROM, JOIN, WHERE, GROUP BY og ORDER BY – og beskriver hva hver del gjør. Den beskriver formen på spørringen, ikke en faktisk kjøreplan i databasen, så den fungerer også på ufullstendig eller leverandørspesifikke SQL.

Er det trygt å lime inn spørringer fra produksjon?

Ja. Formatering og analyse kjøres i sin helhet i nettleseren din – SQL-koden din forlater aldri siden.

Hva skjer hvis SQL-spørringen min inneholder syntaksfeil?

Hvis koden har syntaksfeil, vil ikke verktøyet kunne formatere den. Du vil da se feilmeldingen "Kunne ikke formatere denne SQL-en – sjekk syntaksen.", men det forrige formaterte resultatet vil fortsatt være synlig i grensesnittet slik at du ikke mister data.