Lumaktaw sa pangunahing nilalaman

Libreng SQL Formatter at Beautifier

Mag-pretty-print ng mga SQL query na may wastong indentation, configurable na case ng keyword, at mga line break sa mga pangunahing clause. Gumagana sa anumang SQL dialect.

Gumagana offline kapag na-load na
Na-format na SQL
Lilitaw dito ang na-format na SQL…

Mga karaniwang gamit

  • I-format ang SQL para sa Pull Request ReviewsLinisin ang mga SQL query bago mag-commit upang gawing readable ang mga ito sa code review.
  • I-format ang SQL upang Mahanap ang Mga BugAng formatting ay nagpapakita ng mga structural na problema tulad ng nawawalang JOIN o maling nakahanay na kondisyon.
  • I-format ang SQL para sa DocumentationGawing maganda at madaling basahin ang mga halimbawa ng SQL sa iyong mga docs, blog posts, o tutorials.
  • I-format ang ORM-Generated SQLAng mga ORM (Sequelize, Prisma, ActiveRecord) ay gumagawa ng single-line SQL β€” i-format ito upang i-debug kung ano talaga ang kanilang ginawa.
  • I-format ang mga Reporting QueryAng malalaking analytical SQL query ay nagiging hindi mapamamahalaan nang walang formatting. Indentin ang mga ito para sa kalinisan.

Paano ito Gumagana

Buong ginawa ang SQL formatter na ito mula sa hand-written na tokenizer at formatter β€” walang panlabas na library. Agad tumatakbo sa browser ang pag-format at syntax highlighting habang nagta-type ka, nang walang server.

  1. 1
    Hinahati ng tokenizer ang SQL
    Dinadaanan ng isang character-by-character na tokenizer ang input mo at hinahati sa mga typed token: string literal (hinahawakan ang backslash escape at ang dinodobleng quote ng SQL), line comment (--), block comment (/* */), operator, panaklong, identifier, at numero. Pinagsasama ang whitespace sa iisang space token.
  2. 2
    Pinagsasama ang mga compound keyword
    Pagkatapos mag-tokenize, pinagsasama ng ikalawang pagdaan ang magkakatabing token na bumubuo ng multi-word na keyword β€” kaya nagiging iisang 'LEFT JOIN' token ang 'LEFT' na sinusundan ng 'JOIN', at nagiging 'GROUP BY' ang 'GROUP' na sinusundan ng 'BY'. Ito ang dahilan kung bakit naituturing ng formatter na iisang unit ng layout ang mga ito.
  3. 3
    Block layout o minification
    Sa format mode, inilalagay ang mga keyword na nagsisimula ng block (SELECT, FROM, WHERE, JOIN, atbp.) sa sariling linya na walang indent, at naka-indent ang lahat ng kasunod. Pinipilit ng AND/OR ang bagong naka-indent na linya. Lumilipat din sa bagong linya ang mga kuwit sa top-level na panaklong. Sa minify mode, pinagsasama ang lahat ng newline at labis na whitespace sa pagkakasunod na pinaghihiwalay ng iisang space.
  4. 4
    Syntax highlighting gamit ang regex
    Ipinapasa ang na-format na output sa iisang regex na tumutugma sa mga komento, string literal, numero, at identifier sa isang pagdaan. Binabalot ang bawat tugma sa isang React span na may color class β€” malabong italic ang komento, amber ang string, lila ang numero, at teal ang mga SQL keyword (sinusuri laban sa buong keyword set) β€” na bumubuo sa may-kulay na output panel.

Mga Kaugnay na Tool

Mga Madalas na Itanong