Minifikátor SQL
Minimalizujte SQL odstraněním komentářů, zalomení řádků a všech nepotřebných mezer, přičemž řetězcové literály, identifikátory v uvozovkách a operátory zůstanou nedotčeny. Zvolte dialekt, například MySQL, PostgreSQL, T-SQL nebo BigQuery, aby pravidla pro uvozování, komentáře a dávky odpovídala vaší databázi. Minifikátor nahlásí neuzavřené řetězce, komentáře a závorky včetně řádku a sloupce, což se hodí vývojářům vkládajícím dotazy do kódu.
Často kladené otázky
Co minifikátor SQL odstraňuje?
Odstraňuje řádkové a blokové komentáře, zalomení řádků i odsazení. Jednu mezeru ponechá pouze tam, kde by jinak došlo ke spojení dvou slov nebo operátorů. Řetězcové literály a identifikátory v uvozovkách zůstanou přesně tak, jak byly napsány.
Proč bych měl zvolit dialekt?
Databáze používají různé způsoby zápisu řetězců a komentářů. MySQL považuje # za začátek komentáře a zpětná lomítka za uvozovací znaky, PostgreSQL používá řetězce uzavřené mezi znaky dolaru, T-SQL používá [hranaté závorky] a dávky oddělené příkazem GO a BigQuery řetězce uzavřené ve třech uvozovkách. Dialekt zajišťuje, že se obsah literálů nezmění.
Zůstávají některé komentáře zachovány?
Ano. Zachovávají se spustitelné komentáře MySQL a MariaDB, blokové komentáře, jejichž text začíná značkou verze, a optimalizační nápovědy, například /*+ INDEX(t) */, protože mění způsob provádění příkazu. Všechny ostatní komentáře se odstraní.
Co se stane s řádky GO, / a DELIMITER?
Oddělovače dávek, například GO v T-SQL, řádek / ve skriptech Oracle a příkazy MySQL DELIMITER zůstávají na samostatných řádcích. Klientské nástroje je rozpoznávají jen tam, takže jejich spojení s jiným kódem by skript narušilo.
Může minifikace poškodit dotaz?
Minifikátor odstraňuje pouze mezery a komentáře mimo literály a zachovává mezery mezi znaky operátorů, takže se z - -1 nikdy nestane komentář. Dotaz se spustí stejně jako předtím.
Které chyby se zjišťují?
Neuzavřené řetězcové literály, identifikátory v uvozovkách, blokové komentáře a řetězce uzavřené mezi znaky dolaru i nevyvážené závorky se hlásí spolu s číslem řádku a sloupce. Úplnou gramatiku SQL nástroj nekontroluje.
Které dialekty jsou k dispozici?
Standardní SQL, MySQL, MariaDB, PostgreSQL, SQLite, T-SQL, PL/SQL, BigQuery, Snowflake, Redshift, Spark SQL, Hive, Trino a Db2. Standardní SQL, který je výchozí, používá řetězce v jednoduchých uvozovkách bez uvozovacích zpětných lomítek a pro identifikátory přijímá dvojité uvozovky, zpětné apostrofy i hranaté závorky.
Mění se velikost písmen klíčových slov?
Ne. Klíčová slova, identifikátory i funkce si zachovávají původní velikost písmen. Odstraňují se pouze mezery a komentáře.
Jak velký může být vstup?
Až 1 MB SQL na jeden požadavek. Dlouhé migrační skripty s mnoha příkazy se minifikují najednou.
Ukládá se moje SQL?
Ne. Dotazy se zpracovávají v paměti a okamžitě se vracejí. Nikdy se neukládají, zaznamenává se pouze velikost požadavků.