Hopp til hovedinnhold
LibraTool logoLibraTool

Gratis SQL-formaterer og -rydder

Formater SQL-spørringer pent med korrekt innrykk, konfigurerbar bruk av store og små bokstaver i nøkkelord og linjeskift ved hovedklausuler. Fungerer med alle SQL-dialekter.

Fungerer uten nett når den er lastet
Formatert SQL
Formatert SQL vises her…

Vanlige bruksområder

  • Formater SQL for pull request-gjennomgangerRens opp SQL-spørsmål før du jobber for å gjøre dem lesbare i kodeanmeldelser.
  • Formater SQL for å finne feilFormatering avslører strukturelle problemer som manglende JOIN eller feil justerte vilkår.
  • Formater SQL for dokumentasjonGjør SQL-eksempler i dokumentene, blogginnleggene eller opplæringene dine vakre og lette å lese.
  • Formater ORM-generert SQLORM-er (Sequelize, Prisma, ActiveRecord) produserer SQL på en linje — formater det for å feilsøke hva de faktisk genererte.
  • Formater rapporteringsspørsmålStore analytiske SQL-spørsmål blir uhåndterbare uten formatering. Innrykk dem for klarhet.

Hvordan det fungerer

Denne SQL-formatereren er bygget helt fra en håndskrevet tokeniserer og formaterer — ingen eksternt bibliotek brukes. Formatering og syntaksutheving kjører umiddelbart i nettleseren mens du skriver, uten server.

  1. 1
    Tokeniseren deler opp SQL-en
    En tokeniserer går gjennom inndataene tegn for tegn og deler dem i typede tokener: strengliteraler (håndterer både escape med skråstrek og SQLs doble anførselstegn), linjekommentarer (--), blokkommentarer (/* */), operatorer, parenteser, identifikatorer og tall. Mellomrom slås sammen til ett mellomromstoken.
  2. 2
    Sammensatte nøkkelord slås sammen
    Etter tokeniseringen slår en ny runde sammen tilstøtende tokener som danner nøkkelord med flere ord — så 'LEFT' etterfulgt av 'JOIN' blir ett 'LEFT JOIN'-token, og 'GROUP' etterfulgt av 'BY' blir 'GROUP BY'. Det er dette som lar formatereren behandle dem som én oppsettsenhet.
  3. 3
    Blokkoppsett eller minifisering
    I formateringsmodus plasseres nøkkelord som starter en blokk (SELECT, FROM, WHERE, JOIN osv.) på egen linje uten innrykk, og alt som følger rykkes inn. AND/OR tvinger frem en ny innrykket linje. Komma på øverste parentesnivå gir også ny linje. I minifiseringsmodus slås alle linjeskift og overflødige mellomrom sammen til en sekvens skilt med ett mellomrom.
  4. 4
    Syntaksutheving via regex
    Det formaterte resultatet sendes gjennom ett regex som matcher kommentarer, strengliteraler, tall og identifikatorer i én runde. Hvert treff pakkes i en React-span med en fargeklasse — kommentarer i dempet kursiv, strenger i gult, tall i lilla og SQL-nøkkelord (sjekket mot hele nøkkelordsettet) i blågrønt — og gir det fargede utdatapanelet.

Relaterte verktøy

Ofte stilte spørsmål