SQL-formaterare

Formatera SQL och läs en förklaring av frågan del för del på vanlig svenska.

SQL-indata

Indrag
Nyckelord
query.sql
Visa
Klistra in en fråga för att formatera eller förklara den.

Din SQL formateras och analyseras direkt i webbläsaren. Ingenting laddas upp till BroBroGo.

Vanliga frågor

Vilka SQL-dialekter kan formateras?

Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake och Spark SQL. Välj den som matchar din databas så att nyckelord och citattecken hanteras på det sätt som databasmotorn förväntar sig.

Hur fungerar förklaringen på vanlig svenska?

Verktyget läser frågans struktur – typen av instruktion och varje enskild del som SELECT, FROM, JOIN, WHERE, GROUP BY och ORDER BY – och beskriver på vanlig svenska vad varje del gör. Det beskriver frågans logiska struktur, inte en faktisk exekveringsplan från databasen, vilket gör att det även fungerar på ofullständig eller leverantörsspecifik SQL.

Är det säkert att klistra in frågor från produktionsmiljöer?

Ja. Formatering och analys körs helt och hållet i din webbläsare – din SQL lämnar aldrig sidan.

Introduktion till SQL-formaterare och frågeanalysator

Att arbeta med databaser innebär ofta att man ställs inför komplexa och svårlästa SQL-frågor. Verktyget SQL-formaterare är utformat för att lösa detta problem genom att omedelbart omstrukturera rörig SQL-kod direkt i din webbläsare så att den blir lättare att läsa och förstå. Förutom att formatera koden kan verktyget även generera en förklaring av frågans olika delar på vanlig svenska, där varje enskild sats och villkor bryts ner steg för steg.

Denna process sker direkt i användarens webbläsare, vilket innebär att både formateringen och analysen presenteras utan fördröjning. Verktyget är skapat för att hjälpa utvecklare, dataanalytiker, databasadministratörer (DBA), supportpersonal och alla andra som har ett behov av att göra ostrukturerad SQL mer läsbar eller som vill få en tydlig förklaring av vad en specifik SQL-fråga faktiskt gör.


Flexibla inställningar för formatering

För att anpassa koden efter dina eller ditt teams specifika standarder erbjuder verktyget flera inställningsmöjligheter för indata:

  • SQL-indata: Du kan klistra in en SQL-fråga på upp till maximalt 300 000 tecken.
  • Dialekt: Du kan välja mellan tio olika SQL-dialekter för att säkerställa att nyckelord och citattecken hanteras korrekt utifrån din databasmotor. De tillgängliga dialekterna är:
    • Standard SQL
    • PostgreSQL
    • MySQL
    • MariaDB
    • SQL Server (T-SQL)
    • Oracle (PL/SQL)
    • SQLite
    • BigQuery
    • Snowflake
    • Spark SQL
  • Indrag: Välj önskad indragsstil för formateringen, antingen 2 mellanslag, 4 mellanslag eller tabulator (tab).
  • Nyckelord: Bestäm hur skiftläget för SQL-nyckelord ska formateras. Alternativen är VERSALER, gemener eller att behålla ursprungligt skiftläge (Behåll).

Detaljerade utdata och statistik

När verktyget har bearbetat din SQL-fråga genereras följande utdata och statistik:

  • Formaterad SQL: Den färdiga SQL-frågan, strukturerad enligt den valda dialekten och dina stilinställningar.
  • Rader: Det totala antalet rader i den formaterade SQL-koden.
  • Tecken: Det totala antalet tecken i den formaterade SQL-koden.
  • Storlek: Den totala filstorleken för den formaterade SQL-koden.
  • Förklaring: En detaljerad, strukturerad genomgång av frågans uppbyggnad.

Hur frågeanalysatorn förklarar SQL-satser

När du använder funktionen för att förklara SQL-koden analyseras frågans struktur. Verktyget visar texten "{count} instruktion(er) förklarade" för att ange hur många satser som har identifierats. Om din inmatning innehåller flera satser märks varje enskild del upp som "Sats {n}".

Analysatorn identifierar först vilken typ av instruktion det rör sig om (instruktionens typ):

  • En sökning som läser och returnerar rader utan att ändra något (för SELECT).
  • Lägger till nya rader i en tabell (för INSERT).
  • Ändrar värden i rader som redan finns (för UPDATE).
  • Tar bort rader från en tabell (för DELETE).
  • Definierar ett nytt objekt, till exempel en tabell, vy eller ett index (för CREATE).
  • Ändrar definitionen av ett befintligt objekt (för ALTER).
  • Tar permanent bort ett objekt från databasen (för DROP).
  • Tömmer en tabell och tar bort alla rader (för TRUNCATE).
  • Skapar ett namngivet temporärt resultat (CTE) för den efterföljande frågan (för WITH).
  • Infogar, uppdaterar eller tar bort rader i en och samma kombinerade åtgärd (för MERGE).
  • En SQL-instruktion (för övriga instruktionstyper).

Därefter bryts instruktionen ner i mindre delar där varje SQL-sats tilldelas en specifik roll:

  • Kolumnerna och uttrycken som returneras (för SELECT).
  • Kolumnerna som returneras, med dubbletter borttagna (för SELECT DISTINCT).
  • Tabellen (eller underfrågan) som data läses från (för FROM).
  • Kombinerar varje rad med matchande rader från en annan tabell (för JOIN).
  • Behåller endast de rader som uppfyller detta villkor (för WHERE).
  • Slår ihop rader till grupper så att aggregeringar som COUNT eller SUM kan beräknas per grupp (för GROUP BY).
  • Filtrerar dessa grupper efter att aggregeringarna har beräknats (för HAVING).
  • Sorterar de resulterande raderna (för ORDER BY).
  • Begränsar hur många rader som returneras (för LIMIT).
  • Hoppar över ett antal rader innan resultat börjar returneras (för OFFSET).
  • Kombinerar dessa resultat med resultaten från en annan fråga (för UNION).
  • Radvärdena som infogas (för VALUES).
  • Tabellen som tar emot de nya raderna (för INTO).
  • De nya kolumnvärdena som ska tilldelas (för SET).
  • Tabellen vars rader ändras (för UPDATE).
  • Tabellen som rader tas bort från (för DELETE FROM).
  • Definierar en namngiven temporär resultatmängd som används nedan (för WITH).
  • Instruktionen, visas som den är (för allmänna satser).

Hantering av fel, begränsningar och lokala inställningar

Verktyget har inbyggda regler för att hantera olika typer av indata och felaktig syntax:

  • Storleksbegränsning: Om du klistrar in en SQL-fråga som överskrider gränsen på 300 000 tecken, avbryts processen och meddelandet "Denna fråga är för stor för att bearbetas. Prova med en mindre." visas.
  • Syntaxfel: Om koden innehåller syntaxfel som gör att den inte kan tolkas, visas felmeddelandet "Kunde inte formatera denna SQL – kontrollera syntaxen.". När ett sådant fel uppstår skrivs inte ditt tidigare lyckade utdata över av felmeddelandet.
  • Rensa-funktionen: Om du klickar på knappen "Rensa" töms både fältet för SQL-indata och utdataområdet. Eventuella felmeddelanden döljs och texten "Rensad." visas.
  • Ofullständig SQL: Förklaringsfunktionen analyserar frågans logiska struktur och inte en faktisk exekveringsplan från en databas. Detta gör att du kan få en förklaring även på ofullständig, partiell eller leverantörsspecifik SQL-kod.
  • Begränsning av förklaringar: Om din SQL-fråga innehåller ett stort antal satser och förklaringen omfattar mer än 25 satser, kommer verktyget endast att visa de första 25 satserna. Detta indikeras med texten "Endast de första 25 visas.".
  • Lokala inställningar: Verktyget sparar automatiskt dina utkast och dina inställningar för färgtema (såsom mörkt tema) lokalt i din webbläsare.

Integritet och lokal databehandling

När du använder detta verktyg behandlas din data med högsta möjliga integritet. Din SQL formateras och analyseras direkt i webbläsaren. Ingenting laddas upp till BroBroGo, vilket innebär att din SQL-kod aldrig lämnar sidan. Detta gör det säkert att arbeta med frågor utan att riskera att känslig information skickas till externa servrar.


Vanliga frågor (FAQ)

Vilka SQL-dialekter kan formateras?

Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake och Spark SQL. Välj den som matchar din databas så att nyckelord och citattecken hanteras på det sätt som databasmotorn förväntar sig.

Hur fungerar förklaringen på vanlig svenska?

Verktyget läser frågans struktur – typen av instruktion och varje enskild del som SELECT, FROM, JOIN, WHERE, GROUP BY och ORDER BY – och beskriver på vanlig svenska vad varje del gör. Det beskriver frågans logiska struktur, inte en faktisk exekveringsplan från databasen, vilket gör att det även fungerar på ofullständig eller leverantörsspecifik SQL.

Är det säkert att klistra in frågor från produktionsmiljöer?

Ja. Formatering och analys körs helt och hållet i din webbläsare – din SQL lämnar aldrig sidan.