Minifikátor SQL
Minifikujte SQL odstránením komentárov, zalomení riadkov a všetkých nepotrebných medzier, pričom reťazcové literály, identifikátory v úvodzovkách a operátory zostanú nedotknuté. Vyberte dialekt, napríklad MySQL, PostgreSQL, T-SQL alebo BigQuery, aby pravidlá úvodzoviek, komentárov a dávok zodpovedali vašej databáze. Minifikátor nahlási neuzavreté reťazce, komentáre a zátvorky spolu s číslom riadka a stĺpca. Hodí sa vývojárom, ktorí vkladajú dotazy do kódu.
Často kladené otázky
Čo minifikátor SQL odstraňuje?
Odstraňuje riadkové komentáre, blokové komentáre, zalomenia riadkov a odsadenie; jednu medzeru ponechá iba tam, kde by sa inak spojili dve slová alebo operátory. Reťazcové literály a identifikátory v úvodzovkách zostávajú presne také, ako boli napísané.
Prečo by som mal vybrať dialekt?
Databázy používajú odlišné pravidlá pre úvodzovky a komentáre. MySQL považuje # za komentár a spätné lomky za escape znaky, PostgreSQL má reťazce ohraničené znakom dolára, T-SQL používa [hranaté zátvorky] a dávky GO a BigQuery má reťazce v trojitých úvodzovkách. Dialekt zabezpečí, že sa nič vo vnútri literálu nezmení.
Zostávajú niektoré komentáre zachované?
Áno. Zachovávajú sa spustiteľné komentáre MySQL a MariaDB, blokové komentáre, ktorých text sa začína značkou verzie, aj rady optimalizátora, napríklad /*+ INDEX(t) */; menia totiž spôsob vykonania príkazu. Všetky ostatné komentáre sa odstránia.
Čo sa stane s riadkami GO, / a DELIMITER?
Oddeľovače dávok, napríklad GO v T-SQL, riadok / v skriptoch Oracle a príkazy DELIMITER MySQL zostávajú na samostatných riadkoch. Klientske nástroje ich rozpoznajú iba tam, takže ich spojenie s iným kódom by skript pokazilo.
Môže minifikácia pokaziť dotaz?
Minifikátor odstraňuje iba medzery a komentáre mimo literálov a ponecháva medzery medzi znakmi operátorov, takže z - -1 sa nikdy nestane komentár. Dotaz sa vykoná rovnako ako predtým.
Ktoré chyby sa zisťujú?
Neuzavreté reťazcové literály, identifikátory v úvodzovkách, blokové komentáre a reťazce ohraničené znakom dolára, ako aj nevyvážené zátvorky sa hlásia spolu s číslom riadka a stĺpca. Úplnú gramatiku SQL nekontroluje.
Ktoré dialekty sú k dispozícii?
Štandardný SQL, MySQL, MariaDB, PostgreSQL, SQLite, T-SQL, PL/SQL, BigQuery, Snowflake, Redshift, Spark SQL, Hive, Trino a Db2. Štandardný SQL, ktorý je predvolený, používa reťazce v jednoduchých úvodzovkách bez escape sekvencií so spätnou lomkou a pre identifikátory akceptuje dvojité úvodzovky, spätné apostrofy a hranaté zátvorky.
Mení veľkosť písmen v kľúčových slovách?
Nie. Kľúčové slová, identifikátory a funkcie si zachovávajú pôvodnú veľkosť písmen. Odstraňujú sa iba medzery a komentáre.
Aký veľký môže byť vstup?
V každej požiadavke možno spracovať až 1 MB SQL. Dlhé migračné skripty s mnohými príkazmi sa minifikujú v jednom priechode.
Ukladá sa moje SQL?
Nie. Dotazy sa spracúvajú v pamäti a okamžite sa vracajú. Nikdy sa neukladajú; zaznamenáva sa iba veľkosť požiadaviek.