Utilia

SQL-formázó

Formázz SQL-lekérdezéseket PostgreSQL, MySQL, SQL Server, Oracle, BigQuery, Snowflake és más dialektusokhoz, kulcsszavak és behúzás beállításával, böngészőben.

Hogyan formázz egy SQL-lekérdezést

  1. Illesszd be a lekérdezést (vagy többet), vagy kattints a Fájl megnyitása gombra egy .sql fájl betöltéséhez (legfeljebb 10 MB).
  2. Válaszd ki az adatbázisod Dialektusát, például PostgreSQL, MySQL vagy SQL Server (T-SQL).
  3. Válaszd ki, hogyan írja az eszköz a Kulcsszavakat (NAGYBETŰS, kisbetűs vagy Marad, ahogy beírtad), és állítsd be a Behúzást.
  4. Jelöld be a Nincs szóköz az operátorok körül opciót, ha az a=b+1 alakot jobban szereted, mint az a = b + 1 alakot.
  5. Kattints az SQL formázása gombra, majd másold ki vagy töltsd le az eredményt. Egy beállítás módosítása újraformázza a lekérdezést.

A lekérdezést az eszköz csak szövegként formázza át. Soha nem futtatja, és nem küldi el adatbázisnak vagy szervernek.

Mit csinál a formázó

Az eszköz a nyílt forráskódú sql-formatter könyvtárat használja. Minden utasítást záradékokra bont, és minden záradék kulcsszavát (SELECT, FROM, WHERE, GROUP BY, ORDER BY…) külön sorba teszi, a záradék tartalmát pedig alatta behúzva helyezi el. A SELECT lista oszlopai soronként egyet kapnak, az AND és OR feltételek új sorban kezdődnek, az allekérdezések és a CASE kifejezések pedig a beágyazás szintje szerint vannak behúzva. A rövid, zárójeles kifejezések egy sorban maradnak. A pontosvesszővel elválasztott több utasítást üres sor tartja szét.

Csak a szóközök és a betűnagyság változik. A szöveges literálok, az idézőjelezett azonosítók és a megjegyzések pontosan megmaradnak, így a formázott lekérdezés ugyanazt az eredményt adja, mint az eredeti.

Miért számít a dialektus

Az SQL-adatbázisok közös magot használnak, de a részletekben eltérnek, a formázónak pedig ismernie kell ezeket a lekérdezés helyes olvasásához:

  • az azonosítókat a szabványos SQL-ben és a PostgreSQL-ben "dupla idézőjelek", a MySQL-ben, a MariaDB-ben és a BigQueryben `visszaidézőjelek`, az SQL Serverben pedig [szögletes zárójelek] közé teszik;
  • az olyan operátorok, mint a PostgreSQL ->> és :: típuskonverziója, vagy a Snowflake : útvonal-hozzáférése, csak egyes dialektusokban léteznek;
  • a paraméterhelyőrzők eltérnek: ?, $1, :name vagy @name;
  • minden dialektusnak megvannak a saját fenntartott szavai és függvényei, amelyekre a Kulcsszavak beállítás vonatkozik.

Ha az „A lekérdezést nem sikerült értelmezni” üzenetet kapod, először ellenőrizd, hogy a kiválasztott dialektus egyezik-e az adatbázisoddal. A hiba megmutatja a sort és az oszlopot, ahol az értelmezés megállt. A Szabványos SQL a legszigorúbb választás; amikor csak lehet, a tényleges adatbázisodat válaszd.

Kulcsszavak betűnagysága és stílustippek

A nagybetűs kulcsszavak maradnak a legelterjedtebb konvenció, mert első pillantásra elválasztják a nyelvet a tábla- és oszlopnevektől. A kisbetűs írásmód azoknál a csapatoknál népszerű, amelyek könnyebben olvashatónak találják, a Marad, ahogy beírtad pedig érintetlenül hagyja a te választásodat. A tábla-, oszlop- és függvényneveket az eszköz soha nem módosítja: csak a fenntartott kulcsszavak követik a beállítást. Hosszú fájloknál az egységes formázás a verziók közti eltéréseket is sokkal könnyebben átnézhetővé teszi.

Gyakori kérdések

Mely dialektusokat támogatja az eszköz?

Szabványos SQL, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), Google BigQuery, Snowflake, Amazon Redshift, IBM Db2, Db2 for i, Apache Hive, Spark SQL, Trino/Presto, DuckDB, ClickHouse, SingleStoreDB, TiDB és Couchbase N1QL.

Ellenőrzi az eszköz, hogy a lekérdezésem érvényes-e?

Nem. Azt ellenőrzi, hogy a lekérdezés olvasható-e a kiválasztott dialektusban, azt viszont nem, hogy a táblák vagy oszlopok léteznek-e, vagy hogy a lekérdezés lefutna-e. Ezt csak az adatbázisod tudja megerősíteni.

Formázhat tárolt eljárásokat?

Részben. Az eljárásokon belüli utasításokat formázza, de az eljárási blokkokat (BEGIN … END, ciklusok, DECLARE) egyszerűbben tördeli, mint egy dedikált fejlesztői környezet.

Elküldésre kerül a lekérdezésem egy szerverre?

Nem. A formázás a böngésződben fut, így a táblaneveket vagy adatokat tartalmazó lekérdezések a számítógépeden maradnak.

Miért máshol van a megjegyzésem?

A megjegyzések megmaradnak, de egy sor végén álló megjegyzés együtt mozoghat azzal az elemmel, amelyet követ, ha az új sorba kerül.