SQL Formateringsværktøj

Formatér SQL og læs en forklaring af forespørgslen del for del på almindeligt dansk.

SQL-input

Indrykning
Nøgleord
query.sql
Visning
Indsæt en forespørgsel for at formatere eller forklare den.

Din SQL formateres og analyseres direkte i din browser. Intet uploades til BroBroGo.

FAQ

Hvilke SQL-dialekter kan værktøjet formatere?

Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake og Spark SQL. Vælg den, der matcher din database, så nøgleord og anførselstegn håndteres korrekt i forhold til den pågældende database.

Hvordan fungerer forklaringen i almindeligt sprog?

Det analyserer forespørgslens struktur – sætningstypen og hver enkelt klausul som SELECT, FROM, JOIN, WHERE, GROUP BY og ORDER BY – og beskriver, hvad hver del gør. Det beskriver forespørgslens logiske opbygning, ikke en database-eksekveringsplan, så det fungerer også på ufuldstændig eller databasespecifik SQL.

Er det sikkert at indsætte forespørgsler fra produktionsmiljøer?

Ja. Formatering og analyse kører udelukkende i din browser – din SQL forlader aldrig din computer.

Forbedring af læsbarheden med SQL Formateringsværktøj

SQL-kode kan hurtigt blive uoverskuelig og svær at læse, når den skrives i én lang linje eller uden konsekvent struktur. Dette gratis onlineværktøj tager din SQL-kode og formaterer den øjeblikkeligt, så den bliver struktureret og letlæselig direkte i din browser. Udover at forskønne koden kan værktøjet også generere en forklaring af forespørgslen på almindeligt dansk, hvor den brydes ned klausul for klausul.

Dette er nyttigt for en bred vifte af brugere, herunder udviklere, dataanalytikere, databaseadministratorer (DBA), supportpersonale og alle andre, der har brug for at gøre rodet SQL mere læseligt eller ønsker en klar gennemgang af, hvad en specifik forespørgsel gør.


Understøttede input og tilpasningsmuligheder

For at opnå det ønskede resultat giver værktøjet dig mulighed for at finjustere formateringen via følgende indstillinger:

  • SQL-input: Den SQL-forespørgsel, du ønsker at formatere. Værktøjet understøtter en maksimal længde på op til 300.000 tegn.
  • Dialekt: Du kan vælge mellem ti forskellige SQL-dialekter for at sikre, at formateringen passer nøjagtigt til dit databasesystem. De understøttede dialekter er: Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake og Spark SQL.
  • Indrykning: Vælg din foretrukne indrykningsstil, som enten kan være 2 mellemrum, 4 mellemrum eller tabulator (tab).
  • Nøgleord: Bestem, hvordan SQL-nøgleord skal formateres. Du kan vælge STORE BOGSTAVER, små bogstaver eller at bevare den eksisterende formatering (Bevar).

Forstå værktøjets output og statistikker

Når formateringen er fuldført, præsenterer værktøjet resultatet sammen med en række praktiske metadata og analyser:

  • Formateret SQL: Den færdige SQL-forespørgsel, struktureret efter den valgte dialekt og stil.
  • Linjer: Det samlede antal linjer i den formaterede SQL-kode.
  • Tegn: Det præcise antal tegn i den formaterede kode.
  • Størrelse: Den samlede datastørrelse for den formaterede SQL.
  • Forklaring: En detaljeret gennemgang af forespørgslens opbygning. Værktøjet angiver statusbeskeden "{count} sætning(er) forklaret" for at vise omfanget af analysen. Hvis du arbejder med en forespørgsel, der indeholder flere sætninger, markeres hver enkelt del tydeligt med "Sætning {n}".

Analyse af sætningstyper og deres funktioner

Når værktøjet forklarer din SQL-kode, identificerer det først den overordnede type af SQL-sætning (kategoriseret under "Kind"). Værktøjet understøtter forklaringer af følgende sætningstyper:

  • En forespørgsel, der læser og returnerer rækker uden at ændre noget (for SELECT).
  • Tilføjer nye rækker til en tabel (for INSERT).
  • Ændrer værdier i rækker, der allerede eksisterer (for UPDATE).
  • Sletter rækker fra en tabel (for DELETE).
  • Definerer et nyt objekt, såsom en tabel, visning eller et indeks (for CREATE).
  • Ændrer definitionen af et eksisterende objekt (for ALTER).
  • Sletter et objekt permanent fra databasen (for DROP).
  • Tømmer en tabel ved at slette alle rækker (for TRUNCATE).
  • Opretter et navngivet midlertidigt resultatsæt (CTE) til den efterfølgende forespørgsel (for WITH).
  • Indsætter, opdaterer eller sletter rækker i én samlet handling (for MERGE).
  • En SQL-sætning (for andre typer sætninger).

Gennemgang af klausuler og deres roller

Efter at have identificeret sætningstypen, nedbryder værktøjet forespørgslen i mindre dele og forklarer den specifikke rolle, som hver enkelt klausul spiller i den samlede kørsel:

  • De returnerede kolonner og udtryk (for SELECT).
  • De returnerede kolonner, hvor dublerede rækker er fjernet (for SELECT DISTINCT).
  • Tabellen (eller underforespørgslen), som dataene læses fra (for FROM).
  • Kombinerer hver række med matchende rækker fra en anden tabel (for JOIN).
  • Beholder kun de rækker, der opfylder denne betingelse (for WHERE).
  • Grupperer rækker, så aggregeringer som COUNT eller SUM kan beregnes pr. gruppe (for GROUP BY).
  • Filtrerer disse grupper, efter at aggregeringerne er beregnet (for HAVING).
  • Sorterer de resulterende rækker (for ORDER BY).
  • Begrænser, hvor mange rækker der returneres (for LIMIT).
  • Springer et antal rækker over, før resultaterne returneres (for OFFSET).
  • Kombinerer disse resultater med resultaterne fra en anden forespørgsel (for UNION).
  • De rækkeværdier, der indsættes (for VALUES).
  • Tabellen, som modtager de nye rækker (for INTO).
  • De nye kolonneværdier, der skal tildeles (for SET).
  • Tabellen, hvis rækker ændres (for UPDATE).
  • Tabellen, som rækkerne slettes fra (for DELETE FROM).
  • Definerer et navngivet midlertidigt resultatsæt, der bruges nedenfor (for WITH).
  • Sætningen, vist som den er (for generelle sætninger).

Særlige regler, fejlhåndtering og grænser

For at sikre en stabil og forudsigelig brugeroplevelse arbejder værktøjet under følgende tekniske regler og begrænsninger:

  • Størrelsesbegrænsning: Hvis du forsøger at indsætte en forespørgsel, der overskrider grænsen på 300.000 tegn, vil formateringen ikke blive udført. I stedet vises fejlmeddelelsen: "Denne forespørgsel er for stor til at blive behandlet. Prøv med en mindre.".
  • Syntaksfejl: Hvis din SQL-kode indeholder fejl i syntaksen, kan værktøjet ikke fuldføre formateringen. Du vil i så fald se meddelelsen: "Kunne ikke formatere denne SQL – tjek venligst syntaksen.".
  • Bevarelse af tidligere output: Hvis der opstår en fejl under formateringen af et nyt input, vil det tidligere succesfulde output ikke blive overskrevet eller slettet af fejlmeddelelsen.
  • Ryd-funktionen: Når du klikker på knappen "Ryd", tømmes både input- og outputområdet med det samme. Eventuelle fejlmeddelelser skjules, og statusfeltet viser teksten "Ryddet.".
  • Begrænsning på forklaringer: Hvis din forespørgsel indeholder mange adskilte sætninger, kan værktøjet forklare op til 25 af dem. Hvis der er mere end 25 sætninger, vises kun de første 25 sammen med bemærkningen "Kun de første 25 vises.".
  • Lokale præferencer: Værktøjet gemmer automatisk dine kladder samt dine præferencer for lyst eller mørkt tema lokalt i din browser, så de bevares til næste besøg.

Sikkerhed og lokal databehandling

Når du arbejder med databaser, er fortrolighed afgørende. Dette værktøj er bygget med fokus på databeskyttelse gennem lokal kørsel:

  • Lokal behandling: Din SQL-kode formateres og analyseres udelukkende lokalt i din egen browser.
  • Ingen ekstern lagring: Intet af det indtastede data uploades til BroBroGo.
  • Data forlader ikke siden: Din SQL-kode sendes aldrig væk fra den åbne webside, hvilket gør det sikkert at arbejde med forespørgsler direkte på din egen maskine.

Ofte stillede spørgsmål (FAQ)

Hvilke SQL-dialekter kan værktøjet formatere?

Værktøjet understøtter Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake og Spark SQL. Ved at vælge den korrekte dialekt sikrer du, at specifikke nøgleord og tegn formateres korrekt i forhold til din database.

Hvordan fungerer forklaringen i almindeligt sprog?

Forklaringsfunktionen analyserer forespørgslens overordnede struktur og de enkelte klausuler (såsom SELECT, FROM, JOIN, WHERE, GROUP BY og ORDER BY) for at beskrive deres funktion. Da værktøjet beskriver den logiske opbygning af koden og ikke en faktisk eksekveringsplan fra en database, fungerer denne funktion også på ufuldstændig SQL eller databasespecifikke kodestumper.

Er det sikkert at indsætte forespørgsler fra produktionsmiljøer?

Ja. Al formatering og analyse foregår udelukkende lokalt i din browser. Din SQL-kode forlader aldrig din computer, og intet uploades til eksterne servere.