Minifikator SQL
Minifikuj SQL, usuwając komentarze, podziały wierszy i wszystkie zbędne spacje, a jednocześnie zachowując literały tekstowe, identyfikatory w cudzysłowach i operatory bez zmian. Wybierz dialekt, taki jak MySQL, PostgreSQL, T-SQL lub BigQuery, aby zasady zapisu w cudzysłowach, komentarzy i serii instrukcji odpowiadały Twojej bazie danych. Minifikator zgłasza niezamknięte ciągi znaków, komentarze i nawiasy wraz z numerem wiersza i kolumny, co sprawdza się u programistów osadzających zapytania w kodzie.
Najczęściej zadawane pytania
Co usuwa minifikator SQL?
Usuwa komentarze wierszowe i blokowe, podziały wierszy oraz wcięcia, a pojedynczą spację zachowuje tylko tam, gdzie bez niej dwa słowa lub operatory połączyłyby się w jeden ciąg. Literały tekstowe i identyfikatory ujęte w cudzysłowy pozostają dokładnie takie, jak zostały zapisane.
Dlaczego warto wybrać dialekt?
Bazy danych różnią się sposobem zapisywania ciągów w cudzysłowach i komentarzy. MySQL traktuje # jako komentarz, a ukośniki odwrotne jako znaki ucieczki, PostgreSQL używa ciągów ujętych w cudzysłowy dolarowe, T-SQL używa [nawiasów kwadratowych] i partii GO, a BigQuery używa ciągów ujętych w potrójne cudzysłowy. Dialekt gwarantuje, że zawartość literałów nie zostanie zmieniona.
Czy niektóre komentarze są zachowywane?
Tak. Zachowywane są wykonywalne komentarze MySQL i MariaDB, czyli komentarze blokowe, których tekst zaczyna się od znacznika wersji, oraz wskazówki optymalizatora, takie jak /*+ INDEX(t) */, ponieważ wpływają na wykonanie instrukcji. Wszystkie pozostałe komentarze są usuwane.
Co dzieje się z wierszami GO, / i DELIMITER?
Separatory partii, takie jak GO w T-SQL, wiersz / w skryptach Oracle oraz polecenia DELIMITER w MySQL pozostają w osobnych wierszach. Narzędzia klienckie rozpoznają je tylko w takim miejscu, więc połączenie ich z innym kodem uszkodziłoby skrypt.
Czy minifikacja może uszkodzić zapytanie?
Minifikator usuwa wyłącznie białe znaki i komentarze poza literałami oraz zachowuje spacje między znakami operatorów, więc - -1 nie zmieni się w komentarz. Zapytanie działa tak samo jak wcześniej.
Jakie błędy są wykrywane?
Niezamknięte literały tekstowe, identyfikatory ujęte w cudzysłowy, komentarze blokowe i ciągi ujęte w cudzysłowy dolarowe oraz niezbilansowane nawiasy są zgłaszane wraz z numerem wiersza i kolumny. Narzędzie nie sprawdza pełnej składni SQL.
Jakie dialekty są dostępne?
Standardowy SQL, MySQL, MariaDB, PostgreSQL, SQLite, T-SQL, PL/SQL, BigQuery, Snowflake, Redshift, Spark SQL, Hive, Trino i Db2. Domyślny Standardowy SQL używa ciągów ujętych w pojedynczy cudzysłów bez ukośników odwrotnych jako znaków ucieczki oraz akceptuje podwójne cudzysłowy, znaki backtick i nawiasy kwadratowe w identyfikatorach.
Czy zmienia wielkość liter w słowach kluczowych?
Nie. Słowa kluczowe, identyfikatory i funkcje zachowują oryginalną wielkość liter. Usuwane są tylko białe znaki i komentarze.
Jak duże mogą być dane wejściowe?
Do 1 MB SQL na żądanie. Długie skrypty migracyjne z wieloma instrukcjami są minifikowane w jednym przebiegu.
Czy moje SQL jest przechowywane?
Nie. Zapytania są przetwarzane w pamięci i natychmiast zwracane. Nigdy nie są zapisywane; rejestrowane są tylko rozmiary żądań.