SQL Formatter at Beautifier

Mag-paste ng magulong query at makakuha ng malinis at pare-pareho ang indentation na SQL. Suportado ang 17 dialect, case ng keyword at one-click na minifier, lahat sa iyong browser.

Tumatakbo sa browser moWalang sign-upWalang ina-upload

Naka-format na SQL

Paano gamitin ang SQL Formatter

  1. I-paste ang isa o higit pang SQL statement sa input box, o magbukas ng .sql na file.
  2. Piliin ang dialect ng iyong database para tama ang pag-parse sa syntax nito, gaya ng :: cast, [brackets], backtick o $$ string.
  3. Itakda ang case ng keyword (UPPER, lower o panatilihin), indentation at bilang ng blangkong linya sa pagitan ng mga statement.
  4. Lumipat sa I-minify para alisin ang comment at whitespace para sa log, ORM o URL parameter.
  5. Kopyahin ang resulta o i-download ito bilang .sql na file.

Bakit kailangang i-format ang SQL?

Ang mga query na kinopya mula sa ORM log, query plan o application code ay kadalasang dumarating bilang iisang mahabang linya. Kapag inilagay ang bawat clause (SELECT, FROM, JOIN, WHERE, GROUP BY) sa sariling linya at in-indent ang mga column at condition, nagiging nababasa ang logic. Pinapaliit din nito ang diff sa code review at tinutulungan kang makita ang kulang na join condition o maling puwesto ng OR.

Mga kumbensyon sa estilo ng SQL

  • Uppercase na keyword (SELECT, WHERE) ang naghihiwalay sa SQL syntax mula sa pangalan ng table at column. Ito ang inirerekomenda ng karamihan ng style guide, kahit sikat ang lowercase sa mga dbt at analytics team.
  • Isang column bawat linya para isang linya lang ang diff kapag nagdaragdag o nag-aalis ng column.
  • Pare-parehong indentation (2 o 4 space) sa loob ng mga clause at subquery para makita agad ang nesting.
  • Statement terminator: tapusin ang bawat statement sa ; para malinaw ang mga multi-statement na script.

Mga suportadong SQL dialect

Standard SQL, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore at TiDB. Kung pumalya ang pag-parse ng query, sumubok ng mas tiyak na dialect: kinikilala lang ang @variables, $1 na parameter at mga vendor-specific na operator sa sarili nilang dialect.

Ano ang ginagawa ng minifier

Inaalis ng minify mode ang mga --, # at /* */ na comment, pinapaikli ang whitespace at line break sa iisang space, at inaalis ang mga space sa paligid ng comma at panaklong. Kinokopya byte por byte ang mga string literal at naka-quote na identifier ('…', "…", `…`, […], $$…$$), kaya hindi kailanman nagbabago ang kahulugan ng query.

Mga madalas itanong

Ipinapadala ba sa server ang SQL ko?
Hindi. Gumagamit ang formatting ng open-source na sql-formatter library na tumatakbo sa iyong browser. Nananatili sa iyong computer ang mga query na may pangalan ng table, data ng customer o credential.
Binabago ba ng formatting ang ginagawa ng query?
Hindi. Whitespace, line break at (kung pipiliin mo) case ng keyword lang ang nagbabago. Pinapanatili ang mga identifier, string literal at comment kung paano isinulat.
Bakit may parse error ako sa valid na SQL?
Malamang gumagamit ang query ng syntax na para sa ibang database. Piliin ang tumutugmang dialect, halimbawa PostgreSQL para sa ::type na cast o SQL Server para sa [bracketed] na pangalan at @params.
Puwede ko bang i-format ang ilang statement nang sabay-sabay?
Oo. Paghiwalayin ang mga statement gamit ang semicolon. Mapipili mo kung ilang blangkong linya ang ilalagay sa pagitan nila sa output.
Babaguhin ba ng case ng keyword ang mga pangalan ng column ko?
Hindi. Ang mga reserved keyword, data type at built-in na function lang ang binabago ang case. Nananatili ang orihinal na baybay ng mga pangalan ng table at column.

Mga kaugnay na tool