Gå til hovedindhold

Gratis SQL-formatter og -forskønner

Udskriv SQL-forespørgsler pænt med korrekt indrykning, konfigurerbar nøgleordsskrivning og linjeskift på større klausuler. Virker med enhver SQL-dialekt.

Virker offline, når den er indlæst
Formateret SQL
Formateret SQL vises her…

Almindelige anvendelser

  • Formatér SQL til pull request-anmeldelserRyd SQL-forespørgsler før commit for at gøre dem læsbare i kodeanmeldelser.
  • Formatér SQL til at finde fejlFormatering afslører strukturelle problemer som manglende JOIN'er eller forkert justerede betingelser.
  • Formatér SQL til dokumentationGør SQL-eksempler i dine dokumenter, blogindlæg eller tutorials smukke og nemme at læse.
  • Formatér ORM-genereret SQLORM'er (Sequelize, Prisma, ActiveRecord) producerer SQL på en linje — formatér det for at fejlfinde hvad de faktisk genererede.
  • Formatér rapporteringsforespørgslerStore analytiske SQL-forespørgsler bliver uhåndterlige uden formatering. Indryk dem for klarhed.

Sådan fungerer det

Denne SQL-formatering er bygget helt af en håndskrevet tokenizer og formatering — der bruges intet eksternt bibliotek. Formatering og syntaksfremhævning kører øjeblikkeligt i browseren, mens du skriver, uden nogen server.

  1. 1
    Tokenizeren opdeler SQL'en
    En tokenizer gennemgår dit input tegn for tegn og opdeler det i typede tokens: strengkonstanter (med håndtering af både backslash-escapes og SQL's fordoblede anførselstegn), linjekommentarer (--), blokkommentarer (/* */), operatorer, parenteser, identifikatorer og tal. Blanktegn samles til ét mellemrumstoken.
  2. 2
    Sammensatte nøgleord flettes
    Efter tokeniseringen fletter et andet gennemløb tilstødende tokens, der danner nøgleord med flere ord — så 'LEFT' efterfulgt af 'JOIN' bliver til ét 'LEFT JOIN'-token, og 'GROUP' efterfulgt af 'BY' bliver til 'GROUP BY'. Det er det, der lader formateringen behandle dem som samlede layoutenheder.
  3. 3
    Bloklayout eller minificering
    I formateringstilstand placeres nøgleord, der starter en blok (SELECT, FROM, WHERE, JOIN osv.), på deres egen linje uden indrykning, og alt det efterfølgende indrykkes. AND/OR tvinger en ny indrykket linje. Kommaer på øverste parentesniveau giver også en ny linje. I minificeringstilstand samles alle linjeskift og overflødige blanktegn til en sekvens adskilt af enkelte mellemrum.
  4. 4
    Syntaksfremhævning via regex
    Det formaterede output sendes gennem ét regex, der matcher kommentarer, strengkonstanter, tal og identifikatorer i ét gennemløb. Hvert match pakkes ind i et React-span med en farveklasse — kommentarer i dæmpet kursiv, strenge i ravgul, tal i lilla og SQL-nøgleord (tjekket mod hele nøgleordssættet) i blågrøn — hvilket giver det farvede outputpanel.

Relaterede værktøjer

Ofte stillede spørgsmål