Konvertor databáze SQLite na SQL Dump
Konverze souboru databáze SQLite na textový skript SQL Dump transformuje binární databázi na čitelné textové příkazy pro snadnou migraci databází a importy na servery.
Porovnání formátů a technické specifikace
| Specifikace | SQLITE | SQL |
|---|---|---|
| MIME typ | application/vnd.sqlite3 | text/plain |
| Typ | embedded relational database | relational schema & query script |
| Komprese | B-Tree page allocation | none (plain text DDL/DML script) |
| Standardní specifikace | SQLite Database File Format 3 | ISO/IEC 9075 SQL Standard |
| Hlavička souboru (Magic bytes) | 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 (SQLite format 3\0) | 2D 2D (--) or CREATE TABLE SQL statement |
Přehled formátu a použití
SQLite ukládá celé relační databáze do jednoho soběstačného binárního souboru. Vývojáři a správci systémů často potřebují přesunout data z lokálních aplikací SQLite do větších serverových systémů, jako jsou MySQL nebo PostgreSQL. Jelikož serverové databáze nedokážou číst binární soubory SQLite přímo, vyřeší tento problém změna souboru na skript SQL. Skript SQL obsahuje instrukce v prostém textu, které po spuštění na novém serveru znovu vytvoří tabulky, přidají indexy a vloží data. Tento konverzní postup je běžný při přesunu webových aplikací z testovacích prostředí na ostré produkční servery. Softwaroví inženýři rovněž používají textové skripty SQL pro dlouhodobou archivaci dat. Soubory v prostém textu zůstávají čitelné po celá desetiletí, i když konkrétní databázový software zastará. Generování skriptu SQL z binární databáze umožňuje vývojářům kontrolovat změny dat pomocí základních textových editorů a nástrojů pro správu verzí, jako je Git.
Technické specifikace a přehled kodeků
Databáze SQLite (typ MIME application/vnd.sqlite3) začíná zřetelnou 16bajtovou hlavičkou s magickým číslem odpovídajícímu textovému řetězci „SQLite format 3\000". Soubor využívá systém alokace stránek B-Tree k uspořádání tabulek a indexů v binárním formátu. Naproti tomu SQL Dump (typ MIME text/plain) neobsahuje žádné binární magické bajty. Jde o nekomprimovaný textový soubor ASCII nebo UTF-8 naplněný standardními příkazy jazyka pro definici dat, jako je CREATE TABLE, a příkazy pro manipulaci s daty, jako je INSERT INTO. Konverze mezi nimi vyžaduje čtení binárních stránek B-Tree a výpis textových příkazů.
Kompatibilita s operačními systémy a prohlížeči
Soubory SQLite se otevírají nativně v prohlížečích databází, mobilních aplikacích a skriptech v jazycích Python nebo PHP. Textové výpisy SQL se otevírají v jakémkoliv základním textovém editoru, jako je Poznámkový blok nebo TextEdit, a běží na hlavních relačních databázových strojích včetně MySQL, PostgreSQL a Microsoft SQL Server. Jelikož jsou výpisy SQL v prostém textu, fungují univerzálně v systémech Windows, macOS, Linux, iOS a Android bez nutnosti použití speciálních databázových ovladačů.
💡 Užitečné informace
Vždy exportujte výpis SQL pomocí kódování UTF-8, abyste předešli poškození znaků při přenosu speciálních symbolů nebo neanglického textu napříč různými operačními systémy.
Porovnání formátů a technické specifikace
50MB binární databázový soubor SQLite se po převedení na nekomprimovaný 55MB textový výpis SQL mírně zmenší nebo zvětší. Na standardní mobilní síti 4G s rychlostí stahování 30 megabitů za sekundu trvá přenos tohoto textového souboru přibližně 15 sekund. Na rychlém připojení 5G se přenese za necelé 3 sekundy a vysokorychlostní připojení Fiber přesune soubor téměř okamžitě za méně než 1 sekundu.
Často kladené otázky
Jak převést databázi SQLite na SQL Dump bez ztráty kvality?
Konverze je zcela bezztrátová, protože oba formáty ukládají naprosto stejné relační tabulky, řádky a sloupce. Během procesu exportu textu nejsou poškozena ani vyhozena žádná datová hodnoty, typy ani omezení.
Jaký je rozdíl mezi databází SQLite a SQL Dump?
Databáze SQLite je binární soubor uspořádaný do stránek pevné velikosti využívající stromy B-Tree pro rychlé lokální dotazy. SQL Dump je skript v prostém textu obsahující lidsky čitelné databázové příkazy používané k opětovnému sestavení databáze na jiném serveru.