Zrzut SQL (.sql)

ISO/IEC Standardowy

Skrypt Structured Query Language Script (SQL) to uniwersalny format relacyjnej bazy danych zawierający deklaratywne instrukcje DDL do tworzenia tabel bazy danych oraz instrukcje wstawiania DML INSERT do wypełniania danych.

Konwertuj SQLITE na SQL

Darmowy konwerter z SQLITE na SQL w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.

Inspekcja i metadane

Systemy operacyjne i analizatory plików identyfikują pliki SQL, sprawdzając początkową sekwencję bajtów binarnych:

Wybierz lub upuść pliki tutaj

Konwersja w 100% prywatna w przeglądarce - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

Podpis nagłówka na poziomie bajtów (Magic Bytes)

Systemy operacyjne i analizatory plików identyfikują pliki SQL, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 0):

2D 2D 20 / 43 52 45 41 54 45

REPREZENTACJA ASCII: -- / CREATE

Normalizacja: ISO/IEC 9075:2023 / Standard ANSI SQL

Specyfikacja techniczna

Architektura konteneraSkrypt zwykłego tekstu Unicode zawierający instrukcje języka definicji danych (DDL) oraz języka manipulacji danymi (DML)
KompresjaNieskompresowany czysty tekst (często kompresowany jako .sql.gz lub .sql.zst)
Kolejność bajtów (Endianness)Strumień tekstowy UTF-8 / Unicode
Przestrzenie kolorówNie dotyczy (Skrypt bazy danych)
Kanały i strukturaDefinicje schematów relacyjnych (tabele, widoki, indeksy, klucze obce) oraz wiersze danych polecenia INSERT
Maks. wymiaryNieograniczona długość tekstu (obsługuje wieloterabajtowe zrzuty baz danych)
PrzezroczystośćBrak
Streaming i progresywne ładowanieTransakcyjne wykonywanie strumieniowe instrukcja po instrukcji

Techniczna macierz porównawcza: SQL a konkurencja

Atrybut technicznySQL (Bieżący)CSVJSONSQLITE
Zachowanie schematuKompletny schemat (tabele, typy, klucze obce)Tylko nazwy kolumn nagłówkaStruktura dokumentu samopiszącegoKompletny plik binarnej bazy danych
Model wykonywaniaWykonywalny skrypt DDL/DMLPasywne dane wierszowo-kolumnowePasywne drzewo dokumentówBezpośrednie zapytanie binarne B-tree
StandaryzacjaStandard ISO/IEC 9075RFC 4180RFC 8259Otwarty format pliku SQLite
Relacje danychPełne ograniczenia kluczy obcychPłaska tabela (brak relacji)Zagnieżdżone obiekty nadrzędno-podrzędnePełne ograniczenia relacyjne

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Import bazy danych kończy się niepowodzeniem z komunikatem „ERROR: syntax error at or near...".

Główna przyczyna: Niezgodność dialektów SQL (np. importowanie zrzutu MySQL z backtickami do PostgreSQL) lub nieunescapowane pojedyncze cudzysłowy.

Odzyskiwanie: Skonwertuj i oczyszcz składnię dialektu za pomocą transpilera baz danych File2File.

Analiza bezpieczeństwa i wektory ataku na parser

Wykonywanie niezaufanych skryptów SQL może spowodować katastrofalny atak SQL injection, zapisywanie plików o dowolnej nazwie lub eskalację uprawnień administracyjnych.

Znane wektory ataku

  • Iniekcja SQL (SQLi) wykonująca niezamierzone polecenia administracyjne (np. DROP TABLE, GRANT ALL).
  • Odczyt/zapis dowolnych plików na serwerze za pomocą polecenia „COPY ... FROM PROGRAM" lub „LOAD DATA INFILE".
  • Atak typu odmowa usługi (DoS) poprzez nieindeksowane, rekurencyjne wyrażenia tablicowe wspólne (CTE).

Najlepsze praktyki obronne: Nigdy nie wykonuj niezaufanych skryptów SQL bezpośrednio na produkcyjnych serwerach baz danych; sprawdzaj i oczyszczaj zapytania w izolowanych piaskownicach.

Pochodzenie historyczne i kamienie milowe

2023Wydano normę ISO/IEC 9075:2023, integrującą zapytania o grafy własności (SQL/PGQ) ze standardowym językiem SQL.
1986Organizacje ANSI i ISO przyjmują SQL jako oficjalny standard dla relacyjnych systemów zarządzania bazami danych.
1974Donald Chamberlin i Raymond Boyce opracowują język SEQUEL w IBM Research w oparciu o model relacyjny Edgara F. Codda.

Główne zalety

  • Niekwestionowany globalny standard przechowywania danych w przedsiębiorstwach: kompatybilny z systemami PostgreSQL, MySQL, SQLite, Oracle oraz SQL Server.
  • Pełna wierność relacyjna: odtwarza tabele, klucze główne, klucze obce, ograniczenia i indeksy wraz z danymi.
  • Wykonywanie transakcyjne: instrukcje mogą być uruchamiane w ramach transakcji (BEGIN...COMMIT), co gwarantuje atomowe przywracanie bazy danych.

Ograniczenia techniczne i wady

  • Nekompatybilność dialektów: subtelne różnice w składni (np. AUTO_INCREMENT kontra SERIAL kontra AUTOINCREMENT) wymagają tłumaczenia między silnikami baz danych.
  • Ogromne narzuty tekstowe: zwykłe instrukcje INSERT języka SQL zajmują znacznie więcej miejsca niż binarne magazyny baz danych.
  • Wolny czas importu w przypadku masowych, wielogigabajtowych zrzutów baz danych bez wyłączonej przebudowy indeksów.

Ciekawe informacje techniczne

  • SQL nosił pierwotnie nazwę „SEQUEL" (Structured English Query Language), ale został skrócony do SQL z powodu sporu o znak towarowy z firmą lotniczą Hawker Siddeley.
  • Formalny standard ISO nakazuje wymawiać go jako poszczególne litery „S-Q-L", jednak miliony programistów wymawiają go potocznie jako „sequel".
  • Szacuje się, że SQLite, który działa w oparciu o składnię SQL, jest zainstalowany na ponad 1 bilionie urządzeń na całym świecie.

Często zadawane pytania techniczne

Czym jest plik .sql?

Plik .sql to skrypt w zwykłym tekście zawierający polecenia SQL, które tworzą tabele, ustanawiają relacje i wstawiają wiersze danych do relacyjnej bazy danych.

Czy mogę skonwertować pliki zrzutu SQL do formatu CSV lub JSON?

Tak. Narzędzie File2File.app potrafi sparsować pliki zrzutów baz danych .sql i wyeksportować tabele bezpośrednio do czystych arkuszy kalkulacyjnych CSV lub ustrukturyzowanych dokumentów JSON.

Dlaczego mój plik .sql z MySQL nie działa w systemie PostgreSQL?

Różne systemy bazodanowe posiadają autorskie różnice w dialektach (takie jak typy danych czy uciekanie cudzysłowów). Musisz dokonać transkodowania składni specyficznej dla dialektu podczas migracji między silnikami baz danych.