SQL formátovač a beautifier

Vložte nepřehledný dotaz a získejte čisté SQL s jednotným odsazením. Podporuje 17 dialektů, velikost písmen klíčových slov a minifikaci jedním kliknutím, vše v prohlížeči.

Běží v prohlížečiBez registraceNic se neodesílá

Formátované SQL

Jak používat: SQL formátovač

  1. Vložte jeden nebo více příkazů SQL do vstupního pole nebo otevřete soubor .sql.
  2. Zvolte dialekt své databáze, aby se jeho syntaxe, například přetypování ::, [hranaté závorky], zpětné apostrofy nebo řetězce $$, správně rozparsovala.
  3. Nastavte velikost písmen klíčových slov (VELKÁ, malá nebo zachovat), odsazení a počet prázdných řádků mezi příkazy.
  4. Přepněte na Minifikovat a odstraňte komentáře a bílé znaky pro logy, ORM nebo parametry URL.
  5. Zkopírujte výsledek nebo ho stáhněte jako soubor .sql.

Proč formátovat SQL?

Dotazy zkopírované z logů ORM, plánů dotazů nebo kódu aplikace obvykle přicházejí jako jeden dlouhý řádek. Umístění každé klauzule (SELECT, FROM, JOIN, WHERE, GROUP BY) na vlastní řádek a odsazení sloupců a podmínek zpřehlední logiku. Zmenší také diffy v code review a pomůže odhalit chybějící podmínku spojení nebo špatně umístěné OR.

Konvence stylu SQL

  • Klíčová slova velkými písmeny (SELECT, WHERE) oddělují syntaxi SQL od názvů tabulek a sloupců. Doporučuje to většina stylových příruček, i když malá písmena jsou oblíbená v dbt a analytických týmech.
  • Jeden sloupec na řádek znamená, že přidání nebo odebrání sloupce je diff o jednom řádku.
  • Jednotné odsazení (2 nebo 4 mezery) uvnitř klauzulí a poddotazů ukáže vnoření na první pohled.
  • Ukončení příkazů: každý příkaz ukončete ;, aby byly skripty s více příkazy jednoznačné.

Podporované dialekty SQL

Standardní 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 a TiDB. Pokud se dotaz nepodaří rozparsovat, zkuste konkrétnější dialekt: @variables, parametry $1 a operátory specifické pro výrobce se rozpoznají jen v jejich vlastním dialektu.

Co dělá minifikace

Režim minifikace odstraní komentáře --, # a /* */, sloučí bílé znaky a zalomení řádků do jednotlivých mezer a odstraní mezery kolem čárek a závorek. Řetězcové literály a identifikátory v uvozovkách ('…', "…", `…`, […], $$…$$) se kopírují bajt po bajtu, takže se význam dotazu nikdy nezmění.

Časté dotazy

Odesílá se moje SQL na server?
Ne. Formátování používá open-source knihovnu sql-formatter běžící ve vašem prohlížeči. Dotazy s názvy tabulek, zákaznickými daty nebo přihlašovacími údaji zůstávají na vašem počítači.
Mění formátování to, co dotaz dělá?
Ne. Mění se jen bílé znaky, zalomení řádků a (pokud zvolíte) velikost písmen klíčových slov. Identifikátory, řetězcové literály a komentáře zůstávají tak, jak byly zapsány.
Proč dostávám chybu parsování u platného SQL?
Dotaz nejspíš používá syntaxi specifickou pro jinou databázi. Zvolte odpovídající dialekt, například PostgreSQL pro přetypování ::type nebo SQL Server pro názvy v [závorkách] a @params.
Mohu formátovat více příkazů najednou?
Ano. Oddělte příkazy středníky. Ve výstupu můžete zvolit, kolik prázdných řádků mezi nimi bude.
Změní velikost písmen klíčových slov názvy mých sloupců?
Ne. Velikost písmen se mění jen u vyhrazených klíčových slov, datových typů a vestavěných funkcí. Názvy tabulek a sloupců si zachovají původní zápis.

Související nástroje