Darmowy konwerter

Formater SQL & Upiększacz

Natychmiast formatuj, upiększaj i czyść zapytania SQL w przeglądarce. Nie jest wymagane przesyłanie — całkowicie prywatne i bezpłatne.

Przeciągnij i upuść tutaj plik SQL

Obsługuje pliki .sql. Lub wklej kod SQL w obszarze powyżej.

Lub

O tym narzędziu

Zapytania SQL szybko stają się długie i złożone — połączenia wielu tabel, zagnieżdżone podzapytania, duże klauzule WHERE z wieloma warunkami, złożone wyrażenia CASE. Kompaktowy SQL upchnięty w kilku wierszach jest nieczytelny; odpowiednio wcięty SQL ze stałą wielkością liter sprawia, że ​​struktura zapytania jest widoczna na pierwszy rzut oka. Formatowanie to różnica między zapytaniem, które można debugować, a zapytaniem, którego nie można.

Ten program formatujący analizuje SQL i emituje dane wyjściowe z wcięciami i odpowiednią wielkością liter. Słowa kluczowe SQL (SELECT, FROM, WHERE, JOIN, GROUP BY) są zazwyczaj pisane wielkimi literami, nazwy tabel i kolumn odpowiadają źródłu, a wcięcia odzwierciedlają zagnieżdżenie (podzapytania są wcięte wewnątrz ich rodziców, wcięcia gałęzi CASE). Obsługa wielu dialektów obsługuje różnice w MySQL, PostgreSQL, SQL Server, Oracle i SQLite.

Formatowanie nie ma charakteru destrukcyjnego — sformatowane zapytanie jest funkcjonalnie identyczne z danymi wejściowymi. Zmieniają się tylko białe znaki i wielkość liter.

Po co formatować SQL

Czytanie gęstego, niesformatowanego SQL jest obciążające psychicznie. Określenie, które warunki należą do których JOIN, gdzie zaczynają się i kończą podzapytania oraz w jaki sposób powiązane są gałęzie CASE, staje się trudniejsze, gdy wszystko jest w kilku liniach. Sformatowany SQL jest szybszy do odczytania i zmniejsza liczbę błędów wynikających z błędnego odczytania struktury.

Przegląd kodu przynosi szczególne korzyści. Recenzenci mogą szybko zrozumieć, co robi zapytanie po jego sformatowaniu; czytanie niesformatowanego kodu SQL podczas przeglądania zachęca do pomijania lub stemplowania. Sformatowany SQL generuje również znaczące różnice w przypadku zmiany zapytań.

Jak używać

Wklej zapytanie, kliknij format.

  1. Wklej swój SQL: Upuść zapytanie w obszarze wejściowym. Działają zarówno pojedyncze instrukcje, jak i wejścia zawierające wiele instrukcji.
  2. Wybierz dialekt: Wartość domyślna to ogólny SQL. Wybierz MySQL, PostgreSQL, SQL Server lub Oracle, aby rozpoznawać słowa kluczowe specyficzne dla dialektu.
  3. Skonfiguruj opcje: Rozmiar wcięcia (zwykle 2 lub 4 spacje), wielkość wcięcia słowa kluczowego (najczęściej wielkie litery, niektóre zespoły preferują małe litery), rozmieszczenie przecinków (na końcu lub na początku).
  4. Sformatuj: Sformatowany wynik pojawi się natychmiast. Skopiuj lub pobierz do użytku.

Typowe przypadki użycia

Szczegóły techniczne

Analiza SQL wymaga zrozumienia dialektu, ponieważ różne bazy danych rozszerzają gramatykę na różne sposoby. Osoba formatująca zazwyczaj używa tokenizera do identyfikowania słów kluczowych, identyfikatorów, literałów i znaków interpunkcyjnych, a następnie generuje dane wyjściowe z regułami dotyczącymi białych znaków i wcięć między tokenami.

Reguły wcięć: SELECT, FROM, WHERE, GROUP BY, ORDER BY, każdy w osobnej linii. Połączone tabele w kolejnych wierszach z wcięciem FROM. Warunki w WHERE w oddzielnych wierszach dla czytelności. Podzapytania w osobnych blokach z wcięciem.

Konwencje wielkości liter: najczęściej używane są wielkie litery (SELECT, FROM, WHERE). Niektóre zespoły wolą pisać małymi literami. Identyfikatory (nazwy tabel i kolumn) zachowują wielkość liter źródłowych.

Najlepsze praktyki

Często zadawane pytania

Czy formatowanie zmienia zachowanie zapytania?
Nie. Formatowanie SQL dostosowuje tylko białe znaki, podziały wierszy i wielkość liter słów kluczowych. Logika zapytań, plan wykonania i wyniki pozostają identyczne. To po prostu poprawa czytelności.
Które dialekty SQL są obsługiwane?
Narzędzie obsługuje standardowy SQL oraz specyficzne dialekty: MySQL, PostgreSQL, SQLite, SQL Server (T-SQL) i Oracle PL/SQL. Słowa kluczowe i funkcje specyficzne dla dialektu są rozpoznawane poprawnie.
Czy obsługuje podzapytania i CTE?
Tak. Typowe wyrażenia tabelowe (klauzule Z), zagnieżdżone podzapytania, funkcje okna i złożone łańcuchy JOIN są formatowane z odpowiednimi poziomami wcięć.
Czy mogę tego użyć do procedur przechowywanych?
Formater najlepiej radzi sobie z pojedynczymi instrukcjami SQL. Procedury, wyzwalacze i funkcje zawierające wiele instrukcji mogą działać, ale formatowanie złożonej logiki proceduralnej (JEŻELI/ELSE, pętle) zależy od dialektu.
Czy słowa kluczowe powinny być pisane wielkimi czy małymi literami?
Konwencja jest różna. Słowa kluczowe pisane wielkimi literami są tradycyjne i powszechne. Małe litery zyskują na popularności w nowoczesnych przewodnikach. Wybierz jeden i zachowaj spójność w bazie kodu.
Czy formatuje procedury składowane?
Większość formaterów obsługuje składnię procedur składowanych (CREATE PROCEDURE, bloki BEGIN/END, przepływ sterowania). Rozszerzenia specyficzne dla dialektu mogą być częściowo obsługiwane.
Czy mój SQL został przesłany?
Nie. Formatowanie odbywa się w przeglądarce.
Czy mogę sformatować z wiersza poleceń?
Kilka formaterów SQL oferuje narzędzia CLI (sqlfluff, sql-formatter). Używaj ich do formatowania wsadowego lub integracji CI. Formatery przeglądarki są przeznaczone do jednorazowego użytku ad hoc.