Zrzut SQL (.sql)
ISO/IEC StandardowySkrypt 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:
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 45REPREZENTACJA ASCII: -- / CREATE
Normalizacja: ISO/IEC 9075:2023 / Standard ANSI SQL
Specyfikacja techniczna
| Architektura kontenera | Skrypt zwykłego tekstu Unicode zawierający instrukcje języka definicji danych (DDL) oraz języka manipulacji danymi (DML) |
| Kompresja | Nieskompresowany czysty tekst (często kompresowany jako .sql.gz lub .sql.zst) |
| Kolejność bajtów (Endianness) | Strumień tekstowy UTF-8 / Unicode |
| Przestrzenie kolorów | Nie dotyczy (Skrypt bazy danych) |
| Kanały i struktura | Definicje schematów relacyjnych (tabele, widoki, indeksy, klucze obce) oraz wiersze danych polecenia INSERT |
| Maks. wymiary | Nieograniczona długość tekstu (obsługuje wieloterabajtowe zrzuty baz danych) |
| Przezroczystość | Brak |
| Streaming i progresywne ładowanie | Transakcyjne wykonywanie strumieniowe instrukcja po instrukcji |
Techniczna macierz porównawcza: SQL a konkurencja
| Atrybut techniczny | SQL (Bieżący) | CSV | JSON | SQLITE |
|---|---|---|---|---|
| Zachowanie schematu | Kompletny schemat (tabele, typy, klucze obce) | Tylko nazwy kolumn nagłówka | Struktura dokumentu samopiszącego | Kompletny plik binarnej bazy danych |
| Model wykonywania | Wykonywalny skrypt DDL/DML | Pasywne dane wierszowo-kolumnowe | Pasywne drzewo dokumentów | Bezpośrednie zapytanie binarne B-tree |
| Standaryzacja | Standard ISO/IEC 9075 | RFC 4180 | RFC 8259 | Otwarty format pliku SQLite |
| Relacje danych | Pełne ograniczenia kluczy obcych | Płaska tabela (brak relacji) | Zagnieżdżone obiekty nadrzędno-podrzędne | Peł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
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.
Powiązane pary konwersji SQL
Konwersja pliku bazy danych SQLite na skrypt tekstowy zrzutu SQL przekształca binarną bazę danych w czytelne polecenia tekstowe, co ułatwia migrację baz danych i importowanie na serwery.
Konwersja skryptu tekstowego zrzutu SQL na eksport danych JSON przekształca sztywne tabele relacyjnej bazy danych w elastyczne, zagnieżdżone obiekty dla nowoczesnych aplikacji internetowych.
Przekształć skrypty kopii zapasowych relacyjnych baz danych w płaskie arkusze kalkulacyjne w celu prostej analizy danych i tworzenia raportów.
Konwersja binarnej kopii zapasowej bazy danych na zwykły skrypt tekstowy SQL umożliwia przenoszenie tabel i danych między całkowicie odmiennymi silnikami bazodanowymi.
Konwersja nieskompresowanego skryptu SQL w formacie czystego tekstu na zoptymalizowany, natywny plik kopii zapasowej bazy danych zmniejsza rozmiar pamięci masowej i przyspiesza czas przywracania na serwerze.