Przejdź do treści

Formatuj zapytania SQL

Sformatuj lub zminifikuj kod SQL dla MySQL, PostgreSQL, SQL Server, SQLite, BigQuery, Oracle i 14 innych dialektów w wybranym stylu – wszystko w przeglądarce.

Sformatowany
Kliknij „Formatuj SQL”, aby uporządkować zapytanie.
Działa w przeglądarce · bez przesyłania na serwerJak to działa

Jak korzystać: Formatowanie SQL

  1. 1

    Wklej SQL

    Wklej zapytanie lub cały skrypt albo otwórz plik .sql; przycisk Przykład pokazuje bałaganiarskie zapytanie do wypróbowania.

  2. 2

    Wybierz dialekt

    Wskaż swoją bazę danych, aby jej cudzysłowy, operatory i słowa kluczowe były poprawnie rozpoznawane.

  3. 3

    Ustaw styl

    Wybierz wielkość liter w słowach kluczowych, wcięcia, położenie przecinków i układ zgodnie z zasadami w Twoim zespole.

  4. 4

    Sformatuj i skopiuj

    Kliknij Formatuj SQL albo Minifikuj, a potem skopiuj podświetlony wynik lub pobierz go jako plik .sql.

Limity i Pro

Za darmo i bez rejestracji: 20 dialektów, pliki .sql do 10 MB oraz skrypty formatowane w czasie do 20 sekund; wyniki powyżej 600 000 znaków są pokazywane w podglądzie częściowo, ale kopiowane i pobierane w całości.

Plan Pro usuwa reklamy; sam formatter działa tak samo w każdym planie. Zobacz Pro

O narzędziu: Formatowanie SQL

Wklej jednowierszowe zapytanie z logów, z debugowania ORM-a albo z wiadomości od kolegi, a formatter ułoży je tak, jak zrobiłaby to staranna osoba: jedna klauzula w wierszu, wybrane kolumny i złączenia z wcięciem pod swoim słowem kluczowym, a podzapytania zagnieżdżone, dzięki czemu strukturę widać od razu. Narzędzie rozumie 20 dialektów SQL – standardowy SQL, MySQL, MariaDB, PostgreSQL, SQL Server T-SQL, SQLite, Oracle PL/SQL, BigQuery, Snowflake, Redshift, Spark, Trino, DuckDB, ClickHouse, Hive, Db2, Db2 for i, SingleStore, TiDB i Couchbase N1QL – więc składnia charakterystyczna dla dialektu, taka jak identyfikatory w odwrotnych apostrofach, nawiasy kwadratowe, rzutowania :: czy ciągi w znakach dolara, pozostaje nienaruszona.

Styl ustalasz sam: słowa kluczowe wielkimi literami, małymi albo bez zmian; nazwy funkcji i typy danych tak samo; wcięcia z dwóch spacji, czterech spacji lub tabulatory; przecinki na końcu albo na początku wierszy; AND i OR przed łamaniem wiersza lub po nim; a także układ standardowy lub tabelaryczny, który wyrównuje słowa kluczowe w kolumnie. Skrypty z wieloma instrukcjami są rozdzielane pustym wierszem. Minifikacja robi coś odwrotnego: usuwa komentarze i zbędne odstępy, a ciągi znaków, nazwy w cudzysłowach i podpowiedzi dla optymalizatora zostawia bez zmian.

Wynik jest podświetlany i możesz go skopiować albo pobrać jako plik .sql. Formatowanie korzysta z biblioteki open source sql-formatter, wczytywanej przy pierwszym użyciu przycisku Formatuj SQL, i działa w tle w osobnym wątku, więc długie skrypty nie blokują strony.

Formatter zmienia tylko odstępy i wielkość liter. Nie sprawdza nazw tabel ani kolumn, nie uruchamia zapytania i nie przepisuje go pod kątem wydajności, a procedury składowane z nietypową składnią producenta mogą wymagać wybrania najbliższego dialektu.

Prywatność

SQL jest formatowany w przeglądarce przez Web Worker, więc zapytania z nazwami tabel, danymi klientów czy poświadczeniami nigdy nie trafiają na serwer. Wybrany dialekt i styl zapisują się w pamięci lokalnej przeglądarki, a sam SQL nie jest zapisywany.

Funkcje

20 dialektów SQL

MySQL, PostgreSQL, SQL Server, Oracle, BigQuery, Snowflake i 14 kolejnych.

Twój własny styl

Wielkość liter w słowach kluczowych, wcięcia, przecinki na początku lub końcu wiersza, położenie AND/OR i układ tabelaryczny.

Także minifikacja

Usuń komentarze i odstępy, by osadzić SQL w kodzie, bez naruszania ciągów znaków i podpowiedzi.

Formatowanie SQL: najczęstsze pytania

Czy formatowanie zmienia działanie mojego zapytania?
Nie. Zmieniają się tylko odstępy, podziały wierszy i wielkość liter w słowach kluczowych, funkcjach i typach danych; identyfikatory, literały tekstowe i komentarze zostają dokładnie takie same. Zmiana wielkości liter w słowach kluczowych jest bezpieczna, bo SQL ich nie rozróżnia. W PostgreSQL nazwy w cudzysłowach rozróżniają wielkość liter, dlatego ten formatter ich nie rusza.
Dlaczego pojawia się błąd analizy?
Formatter musi rozpoznać strukturę instrukcji, więc niedomknięty nawias, brakujące słowo kluczowe albo składnia z innej bazy danych go zatrzymują. Komunikat podaje wiersz i kolumnę oraz to, czego tam oczekiwano. Wybierz dialekt swojej bazy – identyfikatory w nawiasach kwadratowych wymagają SQL Server, a odwrotne apostrofy MySQL, MariaDB lub BigQuery – i sprawdź, czy na końcu nie ma niedokończonej instrukcji.
Czy przecinki umieszczać na początku, czy na końcu wiersza?
Przecinki na końcu to najpopularniejszy styl i taki generuje większość narzędzi. Przecinki na początku ułatwiają zakomentowanie ostatniej kolumny, a po dodaniu kolumny zmiana w diffie obejmuje jeden wiersz, dlatego lubią je niektóre zespoły pracujące na danych. Wybierz styl, którego używa Twój zespół; opcja działa tylko w układzie standardowym.
Czy narzędzie sformatuje procedury składowane i skrypty z wieloma instrukcjami?
Tak. Wklej cały skrypt, a każda instrukcja zostanie sformatowana i oddzielona pustym wierszem, w tym CREATE TABLE, INSERT, UPDATE, MERGE i typowe bloki proceduralne. Kod proceduralny specyficzny dla producenta, na przykład rozbudowane wsady T-SQL z separatorami GO czy pakiety PL/SQL, może nie zostać w pełni zrozumiany; wybierz pasujący dialekt i formatuj mniejsze fragmenty, jeśli któryś zawiedzie.
Co usuwa minifikacja?
Minifikacja usuwa komentarze -- oraz /* */ (a w MySQL i MariaDB także komentarze #), zamienia ciągi spacji i podziałów wierszy na pojedyncze spacje oraz usuwa spacje przy przecinkach i nawiasach. Literały tekstowe, identyfikatory w cudzysłowach i podpowiedzi optymalizatora w postaci /*+ … */ lub /*! … */ z MySQL zostają, więc zminifikowane zapytanie działa tak samo jak oryginał.