Zrzut SQL (.sql)
ISO/IEC StandardSkrypt Structured Query Language (SQL) to uniwersalny format relacyjnych baz danych. Zawiera deklaratywne instrukcje DDL do tworzenia tabel oraz instrukcje DML INSERT do wstawiania 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):
Brak stałej sygnatury (SQL to zwykły tekst)REPREZENTACJA ASCII: Brak stałej sygnatury ASCII
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 zwykły tekst (często kompresowany do plików .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 w nagłówku | Samopisująca się struktura dokumentu | 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łaskie dane tabelaryczne (bez 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. import zrzutu MySQL z grawisami do PostgreSQL) lub apostrofy niepoprzedzone znakiem ucieczki.
Odzyskiwanie: Skonwertuj składnię dialektu i oczyść ją za pomocą narzędzia File2File.app Database Transpiler.
Analiza bezpieczeństwa i wektory ataku na parser
Wykonywanie niezaufanych skryptów SQL może prowadzić do poważnych ataków SQL injection, zapisu dowolnych plików lub eskalacji uprawnień administracyjnych.
Znane wektory ataku
- Iniekcja SQL (SQLi) polegająca na wykonaniu niezamierzonych poleceń administracyjnych (np. DROP TABLE, GRANT ALL).
- Odczyt lub zapis dowolnych plików na serwerze za pomocą poleceń „COPY ... FROM PROGRAM” lub „LOAD DATA INFILE”.
- Atak typu odmowa usługi (DoS) poprzez nieindeksowane, rekurencyjne wspólne wyrażenia tabelaryczne (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, zgodny z PostgreSQL, MySQL, SQLite, Oracle i SQL Server.
- Pełne odwzorowanie relacyjnej bazy danych: odtwarzane są tabele, klucze główne i obce, ograniczenia oraz indeksy, a także dane.
- Wykonywanie transakcyjne: instrukcje mogą być uruchamiane w ramach transakcji (BEGIN...COMMIT), co gwarantuje atomowe odtworzenie bazy danych.
Ograniczenia techniczne i wady
- Niezgodności między dialektami: subtelne różnice w składni (np. AUTO_INCREMENT, SERIAL i AUTOINCREMENT) wymagają dostosowania kodu do różnych silników baz danych.
- Duży narzut objętościowy: zwykłe instrukcje SQL INSERT zajmują znacznie więcej miejsca niż binarne formaty przechowywania baz danych.
- Importowanie wielogigabajtowych zrzutów baz danych trwa długo, jeśli nie wyłączy się ponownego tworzenia 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 tekstowy zawierający polecenia SQL do tworzenia tabel, definiowania relacji i wstawiania wierszy danych do relacyjnej bazy danych.
Czy mogę skonwertować pliki zrzutu SQL do formatu CSV lub JSON?
Tak. File2File.app może odczytywać zrzuty baz danych w plikach .sql i eksportować tabele bezpośrednio do przejrzystych arkuszy CSV lub ustrukturyzowanych dokumentów JSON.
Dlaczego mój plik .sql z MySQL nie działa w systemie PostgreSQL?
Różne systemy baz danych używają własnych dialektów, które różnią się między innymi typami danych i sposobem escapowania cudzysłowów. Podczas migracji między silnikami baz danych trzeba przetłumaczyć składnię specyficzną dla danego dialektu.
Powiązane pary konwersji SQL
Konwersja pliku bazy danych SQLite na tekstowy skrypt SQL przekształca binarną bazę danych w czytelne polecenia, co ułatwia migrację baz danych i importowanie ich 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.
Konwertuj obsługiwaną kopię zapasową SQL Server w formacie .bak do tekstowego skryptu SQL, aby ją sprawdzić lub wykorzystać w procesie migracji.
Konwersja nieskompresowanego skryptu SQL w postaci zwykłego tekstu na zoptymalizowany, natywny plik kopii zapasowej bazy danych zmniejsza ilość zajmowanego miejsca i skraca czas przywracania na serwerze.