Formater i beautifier SQL
Wklej nieczytelne zapytanie i otrzymaj czysty SQL ze spójnymi wcięciami. Obsługuje 17 dialektów, wielkość liter słów kluczowych i minifikację jednym kliknięciem – wszystko w przeglądarce.
Działa w przeglądarceBez rejestracjiNic nie jest wysyłane
Jak używać: Formater SQL
- Wklej jedną lub więcej instrukcji SQL do pola wejściowego lub otwórz plik
.sql. - Wybierz dialekt swojej bazy danych, aby jego składnia, np. rzutowania
::,[nawiasy], backticki czy ciągi$$, była poprawnie parsowana. - Ustaw wielkość liter słów kluczowych (WIELKIE, małe lub bez zmian), wcięcia i liczbę pustych linii między instrukcjami.
- Przełącz na Minifikuj, aby usunąć komentarze i białe znaki na potrzeby logów, ORM-ów lub parametrów URL.
- Skopiuj wynik lub pobierz go jako plik
.sql.
Po co formatować SQL?
Zapytania skopiowane z logów ORM, planów zapytań czy kodu aplikacji zwykle mają postać jednej długiej linii. Umieszczenie każdej klauzuli (SELECT, FROM, JOIN, WHERE, GROUP BY) w osobnej linii i wcięcie kolumn i warunków czyni logikę czytelną. Zmniejsza też diffy w code review i pomaga wychwycić brakujący warunek złączenia lub źle umieszczone OR.
Konwencje stylu SQL
- Słowa kluczowe wielkimi literami (
SELECT,WHERE) oddzielają składnię SQL od nazw tabel i kolumn. Zaleca to większość przewodników stylu, choć małe litery są popularne w dbt i zespołach analitycznych. - Jedna kolumna na linię sprawia, że dodanie lub usunięcie kolumny to diff jednej linii.
- Spójne wcięcia (2 lub 4 spacje) w klauzulach i podzapytaniach pokazują zagnieżdżenie na pierwszy rzut oka.
- Terminatory instrukcji: kończ każdą instrukcję znakiem
;, aby skrypty z wieloma instrukcjami były jednoznaczne.
Obsługiwane dialekty 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 i TiDB. Jeśli zapytanie nie daje się sparsować, wybierz bardziej konkretny dialekt: @variables, parametry $1 i operatory specyficzne dla dostawcy są rozpoznawane tylko we własnym dialekcie.
Co robi minifikator
Tryb minifikacji usuwa komentarze --, # i /* */, zwija białe znaki i znaki nowej linii do pojedynczych spacji oraz usuwa spacje wokół przecinków i nawiasów. Literały ciągów i identyfikatory w cudzysłowach ('…', "…", `…`, […], $$…$$) są kopiowane bajt po bajcie, więc znaczenie zapytania nigdy się nie zmienia.
Najczęściej zadawane pytania
Czy mój SQL jest wysyłany na serwer?
Czy formatowanie zmienia działanie zapytania?
Dlaczego dostaję błąd parsowania przy poprawnym SQL?
::type lub SQL Server dla nazw w [nawiasach] i @params.