SQL форматер и beautifier

Поставете разхвърляна заявка и получете чист SQL с последователни отстъпи. Поддържа 17 диалекта, регистър на ключовите думи и минифициране с един клик, всичко в браузъра.

Работи в браузъраБез регистрацияНищо не се качва

Форматиран SQL

Как да използвате: SQL форматер

  1. Поставете една или повече SQL заявки в полето за вход или отворете файл .sql.
  2. Изберете диалекта на базата данни, за да се парсира правилно нейният синтаксис, като преобразувания ::, [brackets], обратни кавички или низове $$.
  3. Задайте регистъра на ключовите думи (ГЛАВНИ, малки или запазен), отстъпа и броя празни редове между заявките.
  4. Превключете на Минифицирай, за да премахнете коментарите и празните места за логове, ORM или URL параметри.
  5. Копирайте резултата или го изтеглете като файл .sql.

Защо да форматирате SQL?

Заявките, копирани от ORM логове, планове за изпълнение или код на приложение, обикновено идват като един дълъг ред. Поставянето на всяка клауза (SELECT, FROM, JOIN, WHERE, GROUP BY) на отделен ред и отстъпите за колони и условия правят логиката четима. Това също намалява разликите при code review и помага да забележите липсващо условие за join или неуместен OR.

Конвенции за стил в SQL

  • Ключови думи с главни букви (SELECT, WHERE) отделят SQL синтаксиса от имената на таблици и колони. Повечето ръководства за стил препоръчват това, макар че малките букви са популярни в dbt и екипите за анализи.
  • По една колона на ред прави добавянето или премахването на колони промяна в един ред.
  • Последователни отстъпи (2 или 4 интервала) в клаузите и подзаявките показват вложеността с един поглед.
  • Терминатори на заявки: завършвайте всяка заявка с ;, за да са еднозначни скриптовете с много заявки.

Поддържани SQL диалекти

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 и TiDB. Ако заявка не се парсира, опитайте по-конкретен диалект: @variables, параметри $1 и специфични за доставчика оператори се разпознават само в собствения им диалект.

Какво прави минификаторът

Режимът за минифициране премахва коментарите --, # и /* */, свива празните места и новите редове до единични интервали и премахва интервалите около запетаи и скоби. Низовите литерали и идентификаторите в кавички ('…', "…", `…`, […], $$…$$) се копират байт по байт, така че смисълът на заявката никога не се променя.

Често задавани въпроси

Изпраща ли се моят SQL към сървър?
Не. Форматирането използва библиотеката с отворен код sql-formatter, която работи в браузъра ви. Заявки с имена на таблици, клиентски данни или идентификационни данни остават на вашия компютър.
Променя ли форматирането какво прави заявката?
Не. Променят се само празните места, новите редове и (ако изберете) регистърът на ключовите думи. Идентификаторите, низовите литерали и коментарите се запазват както са написани.
Защо получавам грешка при парсване на валиден SQL?
Заявката вероятно използва синтаксис, специфичен за друга база данни. Изберете съответния диалект, например PostgreSQL за преобразувания ::type или SQL Server за имена в квадратни скоби ([bracketed]) и @params.
Мога ли да форматирам няколко заявки наведнъж?
Да. Разделете заявките с точка и запетая. Можете да изберете колко празни реда да има между тях в резултата.
Ще промени ли регистърът на ключовите думи имената на колоните ми?
Не. Само запазените ключови думи, типовете данни и вградените функции сменят регистъра си. Имената на таблиците и колоните запазват оригиналното си изписване.

Свързани инструменти