DevToolPal
PL

Formatter SQL

Formatuj zapytania SQL dla MySQL, PostgreSQL, SQL Server, Oracle, SQLite, BigQuery i innych.

Działa lokalnie, nic nie jest wysyłane

Opcje

Wejście

0 znaków · 0 B

Wynik

0 znaków · 0 B

Co robi to narzędzie

Formatter SQL zamienia długie, jednoliniowe zapytanie w czytelne zapytanie ze spójnymi wcięciami. Każda klauzula (SELECT, FROM, WHERE, GROUP BY, ORDER BY) zaczyna się w nowej linii, wybrane kolumny i warunki są wypisane po jednym na linię, złączenia (JOIN) są wyrównane pod tabelą, do której się odnoszą, a podzapytania mają wcięcie wewnątrz nawiasów.

Sformatowany SQL łatwiej przejrzeć w pull requestach, łatwiej debugować, gdy zapytanie zwraca niewłaściwe wiersze, i łatwiej wkleić do dokumentacji. Pomaga też, gdy kopiujesz zapytanie z logu ORM-a albo z komunikatu błędu aplikacji, gdzie wszystko jest w jednej linii.

Jak używać

  1. Wklej jedno lub więcej poleceń SQL w polu Wejście, upuść na nie plik .sql albo kliknij Przykład.
  2. Wybierz Dialekt swojej bazy danych.
  3. Wybierz, czy Słowa kluczowe mają być WIELKIMI LITERAMI, małymi literami, czy bez zmian. Nazwy funkcji, takie jak COUNT, stosują się do tego samego ustawienia.
  4. Wybierz 2 spacje, 4 spacje lub tabulatory jako Wcięcie.
  5. Skopiuj wynik lub pobierz go jako plik .sql. Skróty: Ctrl/Cmd+Enter formatuje, Ctrl/Cmd+Shift+C kopiuje.

Kilka poleceń rozdzielonych średnikami zostaje oddzielonych pustą linią. Komentarze zostają na swoich miejscach.

Przykład

select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id group by u.id

zmienia się w

SELECT
  u.id,
  COUNT(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
GROUP BY
  u.id

Wskazówki

Słowa kluczowe pisane wielkimi literami odróżniają klauzule od nazw tabel i kolumn — to najpopularniejsza konwencja w zespołach. Jeśli twój zespół pisze SQL małymi literami, wybierz małe litery, a całe zapytanie będzie spójne. Jeśli formatter zgłasza nieoczekiwany token, sprawdź, czy dialekt jest właściwy: na przykład nazwy w backtickach są poprawne w MySQL, ale nie w standardowym SQL.

FAQ

› Czy mój SQL jest wysyłany na serwer?

Nie. Formatter działa w twojej przeglądarce, więc zapytania zdradzające nazwy tabel, dane klientów czy logikę biznesową pozostają na twoim urządzeniu.

› Jakie dialekty SQL są obsługiwane?

Standardowy SQL, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift i Spark SQL. Wybór właściwego dialektu pomaga przy składni specyficznej dla danej bazy, takiej jak identyfikatory w backtickach, rzutowania :: czy nazwy w nawiasach kwadratowych.

› Czy formatowanie zmienia działanie zapytania?

Nie. Zmieniają się tylko białe znaki oraz — jeśli tak wybierzesz — wielkość liter słów kluczowych i nazw funkcji. Identyfikatory, literały tekstowe i komentarze pozostają dokładnie takie, jak je zapisano.

› Dlaczego dostaję błąd „Unexpected end of input”?

Zwykle nie został zamknięty nawias lub cudzysłów. Błąd wskazuje koniec zapytania; poszukaj ostatniego otwierającego ( lub ', który nie ma pary.