logo
GeekFormat

Konwerter SQL

Konwerter SQL online GeekFormat konwertuje instrukcje SQL INSERT i skrypty CREATE TABLE jednym kliknięciem do formatów JSON, CSV, TSV, XML, YAML, tabele HTML, tabele Markdown, JSON Lines i innych. Obsługuje wiele instrukcji INSERT, wsadowe parsowanie krotek wielowartościowych, automatyczne rozpoznawanie liczb, ciągów znaków, NULL, wartości logicznych i literałów szesnastkowych, zgodność ze stylem cudzysłowów w dialektach MySQL, PostgreSQL, SQLite, SQL Server, dane wielu tabel mogą być wyprowadzane osobno lub łączone. Możliwe jest także odwrotne odtwarzanie instrukcji INSERT z przełączaniem dialektu. Przetwarzanie w pełni lokalne w przeglądarce, wszystkie dane pozostają na urządzeniu.

Powiązane Rekomendacje

O konwersji SQL: konwersja skryptów SQL do formatów JSON/CSV/XML i innych

Konwersja SQL (SQL Conversion) to proces wyodrębniania danych ze skryptu SQL i reorganizacji ich w inne formaty danych, takie jak JSON, CSV, XML, YAML, HTML, Markdown itd. SQL (Structured Query Language, strukturalny język zapytań) to standardowy język zapytań dla relacyjnych baz danych, narzędzia eksportu baz danych (takie jak mysqldump, pg_dump) zazwyczaj eksportują dane w postaci instrukcji INSERT w skrypcie SQL, ten format jest wygodny do importu do bazy danych, ale niewygodny do odczytu przez programy, analizy danych lub wymiany między systemami, dlatego wymagana jest konwersja do bardziej uniwersalnych formatów.

Typowe skrypty eksportu danych SQL zawierają dwa rodzaje instrukcji: CREATE TABLE do definiowania struktury tabeli (nazwy kolumn, typy danych, ograniczenia) i INSERT INTO ... VALUES (...) do wstawiania konkretnych danych. To narzędzie parsuje oba rodzaje instrukcji, wyodrębnia definicje kolumn i informacje o typach z CREATE TABLE, faktyczne wiersze danych z INSERT, a następnie reorganizuje wyjście w formacie wybranym przez użytkownika. Cały proces parsowania wykonywany jest lokalnie w przeglądarce, nie zależy od żadnych usług backendowych.

Dlaczego konwertować SQL do innych formatów? Skrypty SQL są uniwersalne, ale niewygodne w następujących scenariuszach: po pierwsze, programom frontendowym znacznie łatwiej jest odczytywać JSON niż parsować SQL, bez konieczności wprowadzania parsera SQL; po drugie, oprogramowanie arkuszy kalkulacyjnych, takie jak Excel, Google Sheets, natywnie obsługuje CSV, a nie SQL; po trzecie, w scenariuszach plików konfiguracyjnych i dokumentacji YAML, Markdown są bardziej czytelne niż SQL; po czwarte, do wymiany danych między systemami często używa się XML lub JSON jako neutralnych formatów. Po konwersji SQL do tych uniwersalnych formatów dane mogą być bezpośrednio konsumowane przez więcej narzędzi i języków.

Parser SQL tego narzędzia jest napisany ręcznie i koncentruje się na parsowaniu instrukcji INSERT i CREATE TABLE. Dla INSERT obsługiwane są zarówno krotki jednokrotne (INSERT INTO t (a,b) VALUES (1,2)), jak i wielowartościowe (INSERT INTO t (a,b) VALUES (1,2), (3,4), (5,6)), z automatycznym mapowaniem danych na nazwy kolumn. Dla CREATE TABLE obsługiwane jest parsowanie definicji kolumn, typów danych (VARCHAR(255), INT, DECIMAL(10,2) itd. z długością w nawiasach), ograniczeń i klauzul NOT NULL, PRIMARY KEY, IF NOT EXISTS, z poprawną obsługą zagnieżdżonych nawiasów w celu uniknięcia błędnego podziału.

Rozpoznawanie typów to kluczowy aspekt konwersji SQL. Narzędzie automatycznie określa typ na podstawie formy literału wartości: wartości ujęte w pojedyncze lub podwójne cudzysłowy to ciągi znaków; NULL (bez względu na wielkość liter) to wartość pusta; TRUE/FALSE to wartości logiczne; 0x..., X'...', B'...' to literały szesnastkowe; czyste liczby (ze znakiem minus, kropką dziesiętną, notacją naukową) to liczby. To automatyczne rozpoznawanie typów gwarantuje, że skonwertowane formaty JSON, CSV itd. zachowują semantykę oryginalnych danych (np. liczba 1 nie staje się ciągiem "1"), co ułatwia poprawne przetwarzanie przez programy downstream.

Różnice w stylu cudzysłowów między dialektami baz danych to częsta pułapka przy parsowaniu SQL. MySQL domyślnie używa odwróconych apostrofów (`) do otaczania identyfikatorów (nazw tabel, kolumn), PostgreSQL używa podwójnych cudzysłowów ("), SQL Server/T-SQL używa nawiasów kwadratowych ([]), standardowy SQL również używa podwójnych cudzysłowów. Funkcja unquoteIdentifier tego narzędzia automatycznie rozpoznaje i usuwa te cudzysłowy, jednocześnie przetwarzając ucieczkę wewnątrz cudzysłowów (np. `` → `, "" → "). W trybie odtwarzania SQL instrukcje INSERT są regenerowane z odpowiednim stylem cudzysłowów dla docelowego dialektu.

Ucieczka ciągów SQL to inny kluczowy szczegół techniczny. Standard SQL definiuje ucieczkę pojedynczego cudzysłowu wewnątrz ciągu poprzez podwojenie ('It''s' oznacza It's), MySQL domyślnie obsługuje również ucieczkę ukośnikiem odwrotnym (\n, \t, \', \", \\\\, \0, \Z itd.). Parser ciągów tego narzędzia jednocześnie przetwarza oba mechanizmy ucieczki, poprawnie odtwarzając oryginalną zawartość ciągu. Podczas konwersji do CSV pola zawierające przecinki, cudzysłowy, znaki nowej linii są ponownie escaped zgodnie ze standardem RFC 4180; podczas konwersji do XML/HTML escaped są znaki specjalne takie jak &, <, >, ", '.

Czysto frontendowe przetwarzanie to kluczowa zasada projektowania tego narzędzia. Całe parsowanie SQL i konwersja danych wykonywane są w silniku JavaScript przeglądarki, bez przesyłania jakichkolwiek danych na serwer. Oznacza to, że nawet jeśli skrypt SQL zawiera wrażliwe dane użytkowników, tajemnice handlowe lub strukturę wewnętrznej bazy danych, nie wyciekną one na zewnątrz. Ten projekt jest szczególnie odpowiedni do przetwarzania eksportu produkcyjnych baz danych, bez obaw o zgodność danych. Jednocześnie przetwarzanie frontendowe nie ma opóźnień sieciowych, szybkość konwersji jest ograniczona tylko przez CPU i pamięć urządzenia.

W porównaniu z tradycyjnymi narzędziami konwersji SQL wiersza poleceń (takimi jak sql2csv, sqlparser) to narzędzie ma kilka zalet: nie wymaga instalacji i konfiguracji środowiska, otwórz stronę internetową i używaj; zapewnia wizualny interfejs do podglądu wyniku konwersji w czasie rzeczywistym; obsługuje przełączanie wielu formatów wyjścia jednym kliknięciem; wbudowane dane przykładowe i dokumentacja pomocy; responsywny design mobilny do użytku wszędzie. Jednak narzędzie koncentruje się na ekstrakcji danych i nie przetwarza złożonych różnic dialektów SQL (np. operatorów JSONB PostgreSQL, ON DUPLICATE KEY UPDATE MySQL) i zaawansowanych funkcji (procedury składowane, funkcje, wyzwalacze); w przypadku takich potrzeb zaleca się użycie natywnych narzędzi baz danych lub specjalistycznych platform ETL.

Podczas korzystania z narzędzia konwersji SQL warto zwrócić uwagę na kilka najlepszych praktyk: po pierwsze, przed konwersją sprawdź, czy skrypt SQL zawiera kompletne dane (instrukcje INSERT), a nie tylko zapytania (SELECT), które nie są parsowane; po drugie, dla skryptów SQL z wieloma tabelami zaleca się włączenie «Oddzielnego wyprowadzania wielu tabel» w celu zachowania informacji o strukturze tabel; po trzecie, podczas przetwarzania SQL zawierającego znaki chińskie, dla wyjścia CSV zaleca się włączenie «Dołącz BOM», aby zapewnić poprawne rozpoznanie kodowania przez Excel; po czwarte, podczas przetwarzania dużych SQL dump zaleca się wyłączenie «pięknego wyjścia» w celu zmniejszenia rozmiaru wyjścia; po piąte, podczas migracji między bazami danych można użyć trybu «Odtwarzanie SQL» do przełączania dialektu, ale złożone typy (np. tablice PostgreSQL, JSONB) mogą wymagać ręcznej korekty.

Przypadki użycia

  • Konwersja skryptów SQL wyeksportowanych przez mysqldump lub pg_dump do JSON, do importu danych przez API lub wykorzystania na frontendzie
  • Konwersja instrukcji INSERT bazy danych na pliki CSV, do importu w Excel/WPS/Google Sheets do analizy danych lub tworzenia raportów
  • Wyodrębnianie danych ze skryptów kopii zapasowych SQL i konwersja na XML, do wymiany danych między systemami lub integracji z interfejsami SOAP
  • Konwersja danych SQL na format konfiguracyjny YAML, do scenariuszy konfiguracyjnych Ansible, Docker Compose, Kubernetes i innych
  • Konwersja wyników zapytań SQL (wyeksportowanych jako INSERT) na tabele HTML, do bezpośredniego osadzania na stronach internetowych
  • Konwersja danych SQL na tabele Markdown, do wklejania w README, witrynach dokumentacji, blogach technicznych w celu prezentacji przykładowych danych
  • Wyodrębnianie danych z kompletnych skryptów CREATE TABLE + INSERT i konwersja na JSON Lines do wsadowego indeksowania Elasticsearch
  • Podczas migracji baz danych odtwarzanie skryptów INSERT MySQL do instrukcji INSERT w dialekcie PostgreSQL, ułatwiające import danych między bazami
  • Zarządzanie danymi testowymi: konwersja danych seed SQL na konfiguracje JSON, ułatwiająca odczyt programowy i zarządzanie wersjami
  • Demonstracje edukacyjne: konwersja instrukcji SQL na różne formaty w celu porównania, pomagająca uczącym się zrozumieć różnice między reprezentacjami danych
  • Wstępne przetwarzanie ETL: konwersja upstream SQL dump na ustrukturyzowany JSON/CSV jako wejście dla downstream potoku ETL
  • Analiza danych: wyodrębnianie kluczowych danych z eksportu SQL do CSV, do analizy statystycznej z użyciem pandas, R i innych narzędzi
  • Dostarczanie dla klienta: konwersja eksportu bazy danych na bardziej uniwersalny format JSON lub CSV do dostarczenia osobom nietechnicznym
  • Archiwizacja danych: konwersja skryptów INSERT historycznych baz danych na bardziej czytelny YAML lub Markdown do archiwizacji

Jak Używać

  1. Wklej skrypt SQL w lewe pole wejściowe lub kliknij przycisk «Prześlij SQL», aby wybrać plik .sql/.txt
  2. Kliknij przycisk «Przykład», aby załadować wbudowany przykład SQL (zawierający CREATE TABLE i wielotabelowe INSERT)
  3. Wybierz format docelowy w menu rozwijanym formatów u góry prawego panelu wyjścia (JSON, CSV, XML, YAML itd., łącznie 9 formatów)
  4. Kliknij przycisk «Ustawienia», aby dostosować opcje konwersji: piękne wyjście, dołącz BOM, oddzielne wyprowadzanie wielu tabel, separator CSV, nazwa klucza głównego JSON, dialekt SQL itd.
  5. Kliknij przycisk «Konwertuj», aby wykonać konwersję, wynik automatycznie wyświetli się w prawym panelu, dolny pasek stanu pokaże statystyki: liczbę tabel, wierszy, INSERT itd.
  6. Kliknij «Kopiuj», aby skopiować wynik konwersji do schowka, lub «Pobierz», aby zapisać wynik jako plik w odpowiednim formacie (np. result.json, result.csv)
  7. Przełączanie formatu wyjścia automatycznie ponownie konwertuje dane, bez konieczności ponownego klikania przycisku konwersji

Funkcje

  • Dziewięć formatów wyjściowych: JSON, JSON Lines, CSV, TSV, XML, YAML, tabele HTML, tabele Markdown, odtwarzanie SQL — przełączanie formatu jednym kliknięciem z automatyczną ponowną konwersją
  • Parsowanie instrukcji INSERT: automatyczne rozpoznawanie składni INSERT INTO ... VALUES (...), obsługa pojedynczych i wielowartościowych krotek wsadowego wstawiania (wiele wierszy danych w jednym INSERT)
  • Rozpoznawanie CREATE TABLE: parsowanie instrukcji CREATE TABLE w celu wyodrębnienia definicji kolumn, typów danych, ograniczeń NOT NULL, PRIMARY KEY i innych, przydatne do wnioskowania typów pól
  • Przetwarzanie danych wielu tabel: przy wielu tabelach w skrypcie możliwe wyprowadzanie dla każdej tabeli (z znacznikami nazw tabel) lub eksport łączony, z automatycznym agregowaniem kolumn i wierszy
  • Automatyczne rozpoznawanie typów: inteligentna detekcja liczb (całkowite/zmiennoprzecinkowe), ciągów znaków, NULL, wartości logicznych (TRUE/FALSE), literałów szesnastkowych (0x..., X'...', B'...'), z zachowaniem oryginalnej semantyki typów
  • Zgodność z cudzysłowami różnych dialektów: rozpoznawanie odwróconych apostrofów MySQL (`), podwójnych cudzysłowów PostgreSQL ("), nawiasów kwadratowych SQL Server ([]) i standardowych cudzysłowów, z automatycznym usuwaniem cudzysłowów identyfikatorów
  • Sekwencje ucieczki w ciągach SQL: przetwarzanie standardowego ucieczki SQL ('' → ') i ucieczki ukośnikiem odwrotnym MySQL (\n, \r, \t, \0, \', \") w celu poprawnego odtworzenia ciągów ze znakami specjalnymi
  • Odtwarzanie dialektu SQL: możliwość regeneracji instrukcji INSERT w dialekcie MySQL, PostgreSQL, SQLite lub standardowym SQL, z obsługą niestandardowych nazw tabel i opcjonalną generacją CREATE TABLE
  • Elastyczna konfiguracja CSV: wybór separatora (przecinek/średnik/Tab/pionowa kreska), opcjonalny nagłówek UTF-8 BOM (zgodność z Excelem), opcja wcięć dla czytelności, zgodność ze standardem RFC 4180
  • Wiele struktur JSON: wybór grupowania według tabel (klucz główny tables), czyste dane (klucz główny data) lub czysta tablica (bez klucza głównego) dla różnych scenariuszy użycia
  • Wyświetlanie statystyk w czasie rzeczywistym: po konwersji wyświetlane są liczba tabel, całkowita liczba wierszy, liczba instrukcji INSERT, liczba znaków wyjścia, co ułatwia weryfikację kompletności wyniku
  • Przesyłanie i pobieranie plików: obsługa przesyłania plików .sql/.txt/.csv/.tsv/.json do bezpośredniego parsowania, wynik konwersji można pobrać jako plik w odpowiednim formacie (np. .json, .csv, .yaml)
  • Zarządzanie historią: wbudowany panel historii po lewej stronie automatycznie zapisuje ostatnio konwertowane dane wejściowe SQL, umożliwiając szybkie przeładowanie poprzednich skryptów
  • Responsywny design mobilny: na telefonie automatyczne przełączanie na układ zakładek wejście/wynik, na desktopie przeciągany separator dwupanelowy, wszystkie interakcje dostępne również na urządzeniach mobilnych
  • W pełni lokalne przetwarzanie w przeglądarce: całe parsowanie i konwersja wykonywane są w JavaScript przeglądarki, bez żądań do serwera, dane SQL nie opuszczają urządzenia, odpowiednie do przetwarzania eksportu baz danych z informacjami wrażliwymi

Często Zadawane Pytania

Do jakich formatów można konwertować SQL?

Narzędzie obsługuje dziewięć formatów wyjściowych: JSON (ustrukturyzowana tablica), JSON Lines (jeden obiekt JSON na wiersz), CSV (oddzielone przecinkami), TSV (oddzielone tabulatorem), XML (standardowy dokument XML z tagami), YAML (format konfiguracyjny), tabele HTML (ze stylami do bezpośredniego podglądu w przeglądarce), tabele Markdown (składnia dokumentacji), odtwarzanie SQL (regeneracja instrukcji INSERT z możliwością zmiany dialektu). Przełączanie jednym kliknięciem w menu rozwijanym formatów po prawej stronie automatycznie ponownie konwertuje dane.

Jakie instrukcje SQL są obsługiwane do parsowania?

Głównie parsowane są instrukcje INSERT INTO ... VALUES (...) w celu wyodrębnienia danych, a także rozpoznawane instrukcje CREATE TABLE w celu uzyskania definicji kolumn i informacji o typach. Obsługuje pojedyncze INSERT, wielowartościowe krotki INSERT (wiele wierszy danych w jednym INSERT), wiele instrukcji INSERT, instrukcje INSERT dla wielu tabel. Komentarze (-- jednostronicowe, /* */ wielostronicowe, # MySQL jednostronicowe) są automatycznie usuwane i nie wpływają na parsowanie.

Jakie dialekty baz danych są obsługiwane?

Podczas parsowania zgodne ze stylem cudzysłowów identyfikatorów MySQL (odwrócone apostrofy `), PostgreSQL (podwójne cudzysłowy "), SQL Server (nawiasy kwadratowe []) i standardowego SQL, z automatycznym usuwaniem cudzysłowów w celu odtworzenia oryginalnych nazw kolumn i tabel. W trybie odtwarzania SQL można wybrać dialekt MySQL, PostgreSQL, SQLite lub standardowy SQL do regeneracji INSERT, cudzysłowy i reprezentacja wartości logicznych różnią się w zależności od dialektu.

Jak są obsługiwane wiele tabel w skrypcie SQL?

Narzędzie automatycznie agreguje dane INSERT według nazwy tabeli. Po włączeniu opcji «Oddzielne wyprowadzanie wielu tabel» w ustawieniach, formaty tabelaryczne CSV/HTML/Markdown są wyprowadzane segmentami według tabel (z znacznikami nazw tabel), a formaty ustrukturyzowane JSON/XML są grupowane według nazw tabel. Po wyłączeniu tej opcji CSV wyprowadza tylko dane pierwszej tabeli, JSON można wyprowadzić jako czystą tablicę przy wyborze «bez klucza głównego».

Jak są obsługiwane NULL, wartości logiczne i znaki specjalne w SQL?

Narzędzie automatycznie rozpoznaje NULL (bez względu na wielkość liter), wartości logiczne TRUE/FALSE, literały szesnastkowe (0x..., X'...', B'...'), liczby całkowite i zmiennoprzecinkowe. Ciągi znaków są automatycznie przetwarzane ze standardowym ucieczką SQL ('' → ') i ucieczką ukośnikiem odwrotnym MySQL (\n, \t, \' itd.) w celu poprawnego odtworzenia oryginalnej zawartości ze znakami nowej linii, cudzysłowami, znakami specjalnymi. Podczas wyjścia CSV zgodnie ze standardem RFC 4180 pola zawierające przecinki, cudzysłowy, znaki nowej linii są ujęte w cudzysłowy.

Jaką strukturę ma skonwertowany JSON?

Wyjście JSON obsługuje trzy struktury: «klucz główny tables» (grupowanie według nazw tabel, zalecane dla scenariuszy wielotabelowych), «klucz główny data» (ujednolicone opakowanie), «bez klucza głównego» (czysta tablica, odpowiednia dla jednej tabeli lub przetwarzania strumieniowego). Na przykład jedna tabela users jest konwertowana na tablicę [{"id":1,"name":"Alice"},...], wiele tabel jest grupowanych według nazw tabel jako {"users":[...],"orders":[...]}. Wybór dostępny w ustawieniach.

Czy przesłane pliki SQL są zapisywane na serwerze?

Nie. Jest to aplikacja czysto frontendowa, całe parsowanie i konwersja wykonywane są lokalnie w JavaScript przeglądarki, zawartość SQL lub wyniki konwersji nie są przesyłane na żaden serwer. Przesłane pliki są odczytywane bezpośrednio w przeglądarce przez FileReader, po zamknięciu strony dane są automatycznie usuwane. Odpowiednie do przetwarzania eksportu baz danych zawierającego wrażliwe informacje użytkowników lub tajemnice handlowe.

Czy obsługiwane są nawiasy kwadratowe identyfikatorów SQL Server?

Tak. Narzędzie rozpoznaje identyfikatory w nawiasach kwadratowych w stylu SQL Server/T-SQL (np. [users], [order details]) i automatycznie usuwa nawiasy kwadratowe w celu odtworzenia oryginalnych nazw. Obsługiwane są również odwrócone apostrofy MySQL, podwójne cudzysłowy PostgreSQL. W trybie odtwarzania SQL wybór różnych dialektów użyje odpowiedniego stylu cudzysłowów do regeneracji INSERT.

Dlaczego po konwersji skryptu SQL nie ma danych?

Sprawdź, czy SQL zawiera instrukcje INSERT INTO ... VALUES (...). Narzędzie parsuje tylko instrukcje INSERT w celu wyodrębnienia danych, zapytania SELECT nie dają wyjścia. Jeśli obecne są tylko instrukcje CREATE TABLE, wyświetlane jest ostrzeżenie «Wykryto tylko CREATE TABLE, brak wierszy danych do konwersji». Upewnij się, że skrypt SQL jest eksportem danych (dump), a nie zapytaniem.

Czy obsługiwane są procedury składowane, funkcje i wyzwalacze?

Nie. Narzędzie koncentruje się na ekstrakcji danych i parsuje tylko instrukcje INSERT i CREATE TABLE. Procedury składowane (CREATE PROCEDURE), funkcje (CREATE FUNCTION), wyzwalacze (CREATE TRIGGER), widoki (CREATE VIEW) i inne definicje obiektów bazy danych nie są parsowane. Do migracji tych obiektów zaleca się użycie natywnych narzędzi baz danych, takich jak pg_dump, mysqldump.

Czy znaki chińskie w pliku CSV otwierają się poprawnie w Excelu?

Tak. Po włączeniu opcji «Dołącz BOM» w ustawieniach plik CSV będzie zawierał nagłówek UTF-8 BOM (\uFEFF), a Excel poprawnie rozpozna kodowanie, wyświetlając znaki chińskie i inne znaki spoza ASCII. Bez BOM niektóre wersje Excela mogą wyświetlać znaki UTF-8 jako nieczytelne. Nowoczesne oprogramowanie arkuszy kalkulacyjnych, takie jak Google Sheets, WPS, zazwyczaj poprawnie rozpoznaje kodowanie również bez BOM.

Czy można odtworzyć instrukcje INSERT ze skryptu SQL?

Tak. Wybierz format wyjścia «Odtwarzanie SQL», aby regenerować instrukcje INSERT. Obsługiwany jest wybór dialektu docelowego (MySQL/PostgreSQL/SQLite/standardowy SQL), niestandardowa nazwa tabeli, opcjonalna generacja instrukcji CREATE TABLE (z automatycznym wnioskowaniem typów kolumn INT/BIGINT/FLOAT/VARCHAR/TEXT/BOOLEAN na podstawie danych). Jest to odpowiednie do odtwarzania skryptów MySQL w dialekcie PostgreSQL lub ponownego importu do bazy danych po zmianie nazwy tabeli.

Jaka jest różnica między JSON Lines a JSON? Kiedy używać JSON Lines?

Wyjście JSON to pełna tablica JSON ([{...},{...}]), odpowiednia dla programów ładujących całość do pamięci. JSON Lines (znany również jako NDJSON) to jeden niezależny obiekt JSON na wiersz, odpowiedni do przetwarzania strumieniowego, importu dużych danych, bulk API Elasticsearch, analizy logów itd., może być odczytywany wiersz po wierszu bez zużywania dużej ilości pamięci. Narzędzie obsługuje swobodne przełączanie między oboma formatami.

Czy oryginalna kolejność kolumn jest zachowana w wyniku konwersji?

Tak. Narzędzie zachowuje nazwy kolumn w kolejności określonej w instrukcji INSERT. Jeśli INSERT nie określa jawnie nazw kolumn (np. INSERT INTO t VALUES (...)), nazwy kolumn zastępczych col_1, col_2 itd. są generowane na podstawie liczby wartości w pierwszym wierszu. Kolejność kolumn każdej z wielu tabel jest zachowana niezależnie, przy eksporcie łączonym są prezentowane oddzielnie dla każdej tabeli.

Jak duże pliki SQL obsługuje narzędzie?

Teoretycznie nie ma sztywnej górnej granicy, ograniczona pamięcią przeglądarki. Zazwyczaj pliki SQL dump o rozmiarze dziesiątek MB są przetwarzane płynnie, bardzo duże pliki (setki MB) mogą zwolnić z powodu braku pamięci przeglądarki. Zaleca się dzielenie bardzo dużych plików na mniejsze do konwersji wsadowej lub wyłączenie «pięknego wyjścia» w celu zmniejszenia zużycia pamięci. Całe parsowanie wykonywane jest lokalnie w przeglądarce, bez ograniczeń transferu sieciowego.

Rozwiązywanie problemów

Brak danych wyjściowych po konwersji?

Przyczyna 1: Skrypt SQL zawiera tylko zapytania SELECT, to narzędzie parsuje tylko instrukcje INSERT w celu ekstrakcji danych, nie wykonuje zapytań. Rozwiązanie: użyj mysqldump/pg_dump do eksportu danych jako instrukcji INSERT. Przyczyna 2: Skrypt SQL zawiera tylko CREATE TABLE bez wierszy danych, wyświetli się ostrzeżenie. Przyczyna 3: Składnia instrukcji INSERT jest nieprawidłowa (np. brak słowa kluczowego VALUES), sprawdź poprawność składni SQL. Przyczyna 4: Cała zawartość SQL jest zakomentowana (-- lub /* */), sprawdź, czy nie dodano przypadkowo znaków komentarza.

Znaki chińskie w CSV wyświetlają się w Excelu jako nieczytelne?

Excel domyślnie rozpoznaje CSV w kodowaniu GBK, znaki chińskie w UTF-8 będą wyświetlane jako nieczytelne. Rozwiązanie: włącz opcję «Dołącz BOM» w «Ustawieniach», plik wyjściowy CSV będzie zawierał nagłówek UTF-8 BOM (\uFEFF), a Excel poprawnie rozpozna kodowanie UTF-8. Jeśli już wyeksportowano CSV bez BOM, można zapisać go w Notatniku jako «UTF-8 z BOM», a następnie otworzyć w Excelu, lub użyć nowoczesnego oprogramowania arkuszy kalkulacyjnych, takiego jak Google Sheets, WPS.

Liczby w JSON stały się ciągami znaków?

Przyczyna: liczby w SQL są ujęte w cudzysłowy (np. '123' zamiast 123), narzędzie parsuje je jako ciągi znaków. Rozwiązanie: sprawdź, czy liczby w skrypcie SQL są ujęte w cudzysłowy, usuń je. Jeśli oryginalne dane są takie (np. kody ZIP często przechowywane jako ciągi), jest to oczekiwane zachowanie, ponieważ zachowanie semantyki ciągu zapobiega utracie wiodących zer (np. 01234 nie zostanie sparsowane jako 1234).

Błąd konwersji ciągu ze znakami specjalnymi?

Przyczyna: znaki specjalne (znaki nowej linii, cudzysłowy, ukośnik odwrotny) w ciągu SQL nie są poprawnie escaped. To narzędzie obsługuje standardową ucieczkę SQL ('' → ') i ucieczkę ukośnikiem odwrotnym MySQL (\n, \' itd.), ale jeśli oryginalny SQL używa niestandardowej ucieczki (np. ciągi E'...' PostgreSQL), może nie zostać poprawnie odtworzony. Rozwiązanie: sprawdź, czy ucieczka SQL jest zgodna ze standardem, w razie potrzeby ręcznie dostosuj w edytorze tekstowym przed konwersją.

Po konwersji SQL z wieloma tabelami widoczna jest tylko pierwsza tabela?

Przyczyna: opcja «Oddzielne wyprowadzanie wielu tabel» nie jest włączona, formaty tabelaryczne CSV/HTML/Markdown domyślnie wyprowadzają tylko pierwszą tabelę. Rozwiązanie: włącz opcję «Oddzielne wyprowadzanie wielu tabel» w «Ustawieniach», CSV będzie wyprowadzany segmentami według tabel (z znacznikiem # Table: nazwa tabeli), JSON będzie grupowany według nazw tabel ({nazwa_tabeli1:[...],nazwa_tabeli2:[...]}). Uwaga: format JSON Lines nie rozróżnia tabel, wszystkie wiersze będą łączone w wyjściu.

Po odtworzeniu SQL cudzysłowy nazw tabel lub kolumn są nieprawidłowe?

Przyczyna: podczas odtwarzania wybrano błędny dialekt, różne dialekty używają różnych stylów cudzysłowów (odwrócone apostrofy MySQL, podwójne cudzysłowy PostgreSQL, nawiasy kwadratowe SQL Server). Rozwiązanie: wybierz docelowy dialekt SQL w «Ustawieniach», narzędzie regeneruje INSERT z odpowiednim stylem cudzysłowów. Na przykład przy wyborze PostgreSQL nazwa tabeli stanie się "users", przy wyborze MySQL — `users`.

Słownik

SQL (Structured Query Language)
Strukturalny język zapytań, standardowy język zapytań i manipulacji dla relacyjnych baz danych (MySQL, PostgreSQL, Oracle, SQL Server, SQLite), obejmuje podjęzyki DDL (definicja danych), DML (manipulacja danymi), DQL (zapytania o dane), DCL (kontrola danych).
Instrukcja INSERT
Instrukcja SQL do wstawiania danych do tabeli, składnia INSERT INTO table (cols) VALUES (vals), obsługuje pojedyncze i wielowartościowe krotki wsadowego wstawiania. To narzędzie głównie parsuje instrukcje INSERT w celu ekstrakcji danych.
Instrukcja CREATE TABLE
Instrukcja DDL w SQL do tworzenia tabeli, definiuje nazwy kolumn, typy danych, ograniczenia (NOT NULL, PRIMARY KEY, UNIQUE itd.). To narzędzie może parsować CREATE TABLE w celu wyodrębnienia informacji o definicji kolumn.
Krotka VALUES
Lista wartości w nawiasach po słowie kluczowym VALUES w instrukcji INSERT, np. (1, 'Alice', TRUE). Jeden INSERT może zawierać wiele krotek do wsadowego wstawiania: VALUES (1,'A'), (2,'B'), (3,'C').
Dialekt SQL
Różnice w implementacji rozszerzeń standardu SQL przez różnych producentów baz danych, np. MySQL używa odwróconych apostrofów, PostgreSQL używa podwójnych cudzysłowów, SQL Server używa nawiasów kwadratowych do otaczania identyfikatorów, reprezentacja wartości logicznych (TRUE/1), kolumny auto-inkrementujące (AUTO_INCREMENT/SERIAL) itd. również się różnią.
Cudzysłowy identyfikatorów
Znaki specjalne w SQL do otaczania identyfikatorów takich jak nazwy tabel, kolumn. MySQL używa odwróconych apostrofów `name`, PostgreSQL i standardowy SQL używają podwójnych cudzysłowów "name", SQL Server używa nawiasów kwadratowych [name], do ucieczki zarezerwowanych słów lub scenariuszy z uwzględnieniem wielkości liter.
Ucieczka SQL
Mechanizm reprezentacji znaków specjalnych w ciągach SQL. Standard SQL używa podwojenia pojedynczego cudzysłowu ('') dla pojedynczego cudzysłowu; MySQL obsługuje również ucieczkę ukośnikiem odwrotnym (\n, \t, \', \\\\). To narzędzie obsługuje odtwarzanie obu mechanizmów ucieczki.
Wartość NULL
Specjalna wartość w SQL reprezentująca brakujące lub nieznane dane, bez względu na wielkość liter (NULL/null/Null). NULL nie jest równe pustemu ciągowi ani 0, podczas konwersji do JSON mapowane jest jako null, w CSV zazwyczaj pozostawiane puste.
Literał szesnastkowy
Składnia literałów w SQL do reprezentacji danych binarnych. MySQL obsługuje formy 0x... i X'...', PostgreSQL obsługuje X'...' i B'...' (binarne). To narzędzie zachowuje literały szesnastkowe jak są.
JSON Lines (NDJSON)
Format tekstowy z jednym niezależnym obiektem JSON na wiersz, rozszerzenie .jsonl. Odpowiedni do przetwarzania strumieniowego, importu dużych danych i bulk API Elasticsearch, oszczędza pamięć w porównaniu z pełną tablicą JSON.
RFC 4180
Międzynarodowy standard formatu CSV (Common Format and MIME Type for Comma-Separated Values Files), definiuje reguły separacji pól, ucieczki cudzysłowów, przetwarzania znaków nowej linii itd. Wyjście CSV tego narzędzia jest zgodne z tym standardem.
BOM (Byte Order Mark)
Znacznik kolejności bajtów, znak U+FEFF. BOM na początku pliku UTF-8 pomaga oprogramowaniu takiemu jak Excel poprawnie rozpoznać kodowanie, unikając wyświetlania znaków chińskich jako nieczytelnych. Wyjście CSV tego narzędzia może opcjonalnie zawierać BOM.
SQL Dump
Plik skryptu SQL wyeksportowany z bazy danych, zazwyczaj generowany przez narzędzia takie jak mysqldump, pg_dump, zawiera instrukcje CREATE TABLE i INSERT, może być używany do kopii zapasowej i migracji baz danych.
DDL (Data Definition Language)
Język definicji danych, podzbiór SQL, obejmuje instrukcje CREATE, ALTER, DROP itd., do definiowania i modyfikowania struktury bazy danych (tabele, widoki, indeksy itd.).

Porównanie obsługiwanych formatów wyjścia

Porównanie cech i scenariuszy zastosowania dziewięciu formatów wyjścia:

FormatRozszerzenieCechyNajlepszy scenariusz
JSON.jsonUstrukturyzowana tablica, zachowanie typówIntegracja API, odczyt programowy, dane frontendowe
JSON Lines.jsonlJeden obiekt JSON na wierszPrzetwarzanie strumieniowe, Elasticsearch, big data
CSV.csvTabela oddzielona przecinkami, RFC 4180Excel, analiza danych, raporty
TSV.tsvTabela oddzielona tabulatoremWklejanie do arkuszy, bioinformatyka
XML.xmlUstrukturyzowany dokument z tagami i atrybutamiInterfejsy SOAP, pliki konfiguracyjne, systemy Java
YAML.yamlNajbardziej czytelny format konfiguracyjnyAnsible, K8s, konfiguracja CI/CD
HTML.htmlTabela ze stylami, bezpośredni podgląd w przeglądarceWyświetlanie webowe, e-mail, raporty
Markdown.mdSkładnia tabel MarkdownREADME, witryny dokumentacji, blogi techniczne
Odtwarzanie SQL.sqlRegeneracja INSERT, zmiana dialektuMigracja między bazami, zmiana nazwy tabeli

Reguły rozpoznawania typów wartości SQL

Reguły rozpoznawania typów podczas parsowania wartości SQL (na podstawie formy literału):

Literał SQLRozpoznany typWyjście JSONWyjście CSV
123Liczba całkowita123123
-45Ujemna całkowita-45-45
3.14Zmiennoprzecinkowa3.143.14
1e10Notacja naukowa1000000000010000000000
'hello'Ciąg znaków"hello"hello
NULLWartość pustanull(puste)
TRUELogiczne prawdatrueTRUE
FALSELogiczne fałszfalseFALSE
0xFFSzesnastkowe"0xFF"0xFF
X'4142'Szesnastkowe"X'4142'"X'4142'

Styl cudzysłowów identyfikatorów w różnych dialektach baz danych

Różnice w cudzysłowach identyfikatorów (nazw tabel, kolumn) w głównych bazach danych:

Baza danychStyl cudzysłowówPrzykładUwaga
MySQL/MariaDBOdwrócone apostrofy ``users`Domyślnie włączone, rozróżnia słowa zarezerwowane
PostgreSQLPodwójne cudzysłowy ""users"Uwzględnia wielkość liter, styl standardowego SQL
SQLitePodwójne cudzysłowy "/apostrofy`/nawiasy[]"users" / [users]Zgodny z wieloma stylami
SQL ServerNawiasy kwadratowe [][users]Domyślny styl T-SQL
OraclePodwójne cudzysłowy ""users"Wymusza wielkie litery, cudzysłowy zachowują wielkość liter
Standardowy SQLPodwójne cudzysłowy ""users"Standard ANSI SQL

Privacy & Security

Wszystkie operacje tego konwertera SQL są wykonywane w pełni lokalnie w Twojej przeglądarce: parsowanie SQL, ekstrakcja danych, konwersja formatu — wszystko przez JavaScript przeglądarki po stronie klienta, zawartość SQL, przesłane pliki lub wyniki konwersji nie są przesyłane przez sieć na żaden serwer. Przesyłanie plików używa natywnego API FileReader przeglądarki do bezpośredniego odczytu do pamięci, bez usług pośrednich. Nie używa plików Cookie do śledzenia, nie zbiera żadnych danych wejściowych użytkownika ani danych o użyciu. Po zamknięciu lub odświeżeniu strony cała zawartość wejściowa i wyjściowa jest automatycznie usuwana z pamięci (historia jest zapisywana tylko lokalnie w localStorage przeglądarki). Odpowiednie do przetwarzania skryptów eksportu baz danych zawierających wrażliwe informacje użytkowników lub tajemnice handlowe.

Authoritative References