Hoppa till huvudinnehåll
LibraTool logoLibraTool

Gratis SQL-formaterare och -formatering

Snygg utskrift av SQL-frågor med korrekt indragning, konfigurerbart nyckelordsskiftläge och radbrytningar på viktiga klausuler. Fungerar med valfri SQL-dialekt.

Fungerar offline när den väl lästs in
Formaterad SQL
Formaterad SQL visas här…

Vanliga användningar

  • Formatera SQL för pull request-granskningarRensa upp SQL-frågor innan du genomför för att göra dem läsbara i kodgranskningar.
  • Formatera SQL för att hitta buggarFormatering avslöjar strukturella problem som saknade JOIN eller missriktade villkor.
  • Formatera SQL för dokumentationGör SQL-exempel i dina dokument, blogginlägg eller tutorials vackra och lätta att läsa.
  • Formatera ORM-genererad SQLORM:er (Sequelize, Prisma, ActiveRecord) genererar SQL på en rad — formatera det för att felsöka vad de faktiskt genererade.
  • Formatera rapporteringsfrågorStora analytiska SQL-frågor blir omöjliga att hantera utan formatering. Dra in dem för klarhet.

Så här fungerar det

Den här SQL-formateraren är byggd helt av en handskriven tokeniserare och formaterare — inget externt bibliotek används. Formatering och syntaxmarkering körs direkt i webbläsaren medan du skriver, utan att någon server är inblandad.

  1. 1
    Tokeniseraren delar upp SQL:en
    En tecken-för-tecken-tokeniserare går igenom din indata och delar upp den i typade tokens: strängliteraler (hanterar både bakstreck-escapes och SQL:s dubbla citattecken-stil), radkommentarer (--), blockkommentarer (/* */), operatorer, parenteser, identifierare och tal. Blanktecken slås ihop till en enda mellanslagstoken.
  2. 2
    Sammansatta nyckelord slås ihop
    Efter tokenisering slår ett andra steg ihop intilliggande tokens som bildar flerordsnyckelord — så "LEFT" följt av "JOIN" blir en enda "LEFT JOIN"-token, och "GROUP" följt av "BY" blir "GROUP BY". Detta är vad som gör att formateraren kan behandla dem som enskilda layoutenheter.
  3. 3
    Blocklayout eller minifiering
    I formateringsläge placeras blockstartande nyckelord (SELECT, FROM, WHERE, JOIN, osv.) på sin egen rad med noll indentering, och allt som följer indenteras. AND/OR tvingar fram en ny indenterad rad. Kommatecken på den översta parentesnivån flyttas också till en ny rad. I minifieringsläge slås alla radbrytningar och överflödiga blanktecken ihop till en sekvens avgränsad med enkla mellanslag.
  4. 4
    Syntaxmarkering via regex
    Den formaterade utdatan skickas genom ett enda regex som matchar kommentarer, strängliteraler, tal och identifierare i en genomgång. Varje träff omsluts av en React-span med en färgklass — kommentarer i dämpad kursiv, strängar i gult, tal i lila, och SQL-nyckelord (kontrollerade mot hela nyckelordsmängden) i turkos — vilket skapar den färglagda utdatapanelen.

Relaterade verktyg

Vanliga frågor