Výpis SQL (.sql)
ISO/IEC StandardníSkript SQL je textový soubor s databázovými příkazy, například CREATE TABLE, INSERT a SELECT. Dialekty SQL se liší, proto před spuštěním ověřte, že cílová databáze podporuje jeho syntaxi.
Převést SQLITE na SQL
Bezplatný konvertor z SQLITE do SQL v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.
Kontrola a metadata
Operační systémy a analyzátory souborů identifikují soubory SQL kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory SQL kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (POSUN 0):
Bez pevného podpisuASCII REPREZENTACE: Bez pevného podpisu
Standardizace: ISO/IEC 9075:2023 / ANSI SQL Standard
Technické specifikace
| Architektura kontejneru | Prostý textový skript Unicode obsahující příkazy jazyka definice dat (DDL) a jazyka manipulace s daty (DML) |
| Komprese | Nekomprimovaný prostý text (často komprimovaný jako .sql.gz nebo .sql.zst) |
| Pořadí bajtů | Proud textu UTF-8 / Unicode |
| Barevné prostory | Nevztahuje se (databázový skript) |
| Kanály a struktura | Definice relačních schémat (tabulky, pohledy, indexy, cizí klíče) a řádky dat INSERT |
| Max. rozměry | Délka textu není omezená (podporuje výpisy databází o velikosti několika terabajtů) |
| Průhlednost | Žádná |
| Streamování a progresivní načítání | Transakční streamování s prováděním příkazů po jednom |
Technická srovnávací matice: SQL vs konkurence
| Technický atribut | SQL (Aktuální) | CSV | JSON | SQLITE |
|---|---|---|---|---|
| Zachování schématu | Kompletní schéma (tabulky, typy, cizí klíče) | Pouze názvy sloupců v hlavičce | Struktura dokumentu s vlastním popisem | Kompletní binární databázový soubor |
| Model provádění | Spustitelný skript DDL/DML | Pasivní řádková a sloupcová data | Pasivní strom dokumentu | Přímý binární dotaz B-stromu |
| Standardizace | Standard ISO/IEC 9075 | RFC 4180 | RFC 8259 | Otevřený formát souborů SQLite |
| Vztahy mezi daty | Plná omezení cizích klíčů | Ploché tabulkové (bez vztahů) | Vnořené objekty rodič-potomek | Plná relační omezení |
Běžné režimy poškození a příručka pro obnovení v hex
Import databáze selže s chybou „ERROR: syntax error at or near...".
Hlavní příčina: Neshoda dialektů SQL (např. import výpisu MySQL se zpětnými apostrofy do PostgreSQL) nebo neošetřené jednoduché uvozovky.
Obnovení: Převeďte a sanitujte syntaxi dialektu pomocí nástroje File2File.app Database Transpiler.
Bezpečnostní analýza a vektory útoků na parser
Spouštění nedůvěryhodných skriptů SQL může způsobit katastrofální injekci SQL, zápis do libovolných souborů nebo eskalaci administrátorských oprávnění.
Známé vektory útoků
- Injekce SQL (SQLi) provádějící neplánované administrativní příkazy (např. DROP TABLE, GRANT ALL).
- Čtení/zápis libovolných souborů na serveru prostřednictvím příkazů „COPY ... FROM PROGRAM" nebo „LOAD DATA INFILE".
- Odepření služby (DoS) prostřednictvím neindexovaných rekurzivních společných tabulkových výrazů (CTE).
Doporučené bezpečnostní postupy: Nikdy nespouštějte nedůvěryhodné skripty SQL přímo na produkčních databázových serverech; zkontrolujte a očistěte dotazy v izolovaných testovacích prostředích.
Historický vývoj a milníky
Klíčové výhody a přednosti
- Skripty SQL mohou definovat tabulky, přidávat řádky a dotazovat se na relační databáze. Syntaxe datových typů, sloupců identity a funkcí pro datum se liší mezi SQLite, MySQL, PostgreSQL a SQL Serverem.
- Úplné zachování relační struktury: obnovuje tabulky, primární klíče, cizí klíče, omezení a indexy spolu s daty.
- Transakční provádění: příkazy lze spouštět uvnitř transakcí (BEGIN...COMMIT), což zaručuje atomické obnovení databáze.
Technická omezení a nevýhody
- Nekompatibilita dialektů: drobné rozdíly v syntaxi (např. AUTO_INCREMENT vs. SERIAL vs. AUTOINCREMENT) vyžadují překlad mezi jednotlivými databázovými stroji.
- Obrovská textová režie: příkazy prostého textu SQL INSERT zabírají výrazně více místa než binární databázové úložiště.
- Pomalý import obrovských databázových výpisů o velikosti několika gigabajtů, pokud není zakázáno opětovné sestavování indexů.
Zajímavé technické drobnosti
- SQL se původně jmenovalo „SEQUEL“ (Structured English Query Language), ale kvůli sporu o ochrannou známku s leteckou společností Hawker Siddeley byl název zkrácen na SQL.
- Formální norma ISO doporučuje vyslovovat jej jako jednotlivá písmena „S-Q-L", ale miliony vývojářů jej hovorově vyslovují jako „sikvel".
- Odhaduje se, že se SQLite používá ve více než bilionu databází aktivně využívaných v telefonech, počítačích a dalších produktech.
Často kladené technické otázky
Co je to soubor .sql?
Soubor .sql je prostý textový skript obsahující příkazy SQL, které vytvářejí tabulky, vytvářejí vztahy a vkládají řádky dat do relační databáze.
Mohu převést soubory výpisu SQL do formátu CSV nebo JSON?
Ano. File2File.app dokáže analyzovat soubory výpisu databáze .sql a exportovat tabulky přímo do čistých tabulek CSV nebo strukturovaných dokumentů JSON.
Proč můj soubor MySQL .sql nefunguje v PostgreSQL?
Různé databázové systémy mají své vlastní odlišnosti v dialektech (jako jsou datové typy a uvozovky). Při migraci mezi databázovými systémy musíte syntaxi specifickou pro daný dialekt transkódovat.
Související konverzní páry pro SQL
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.
Konverze textového výpisu SQL do formátu JSON převádí pevně strukturované tabulky relační databáze na flexibilní vnořené objekty pro moderní webové aplikace.
Převeďte záložní skripty relačních databází na ploché tabulkové soubory pro jednoduchou analýzu dat a vytváření sestav.
Převeďte podporovanou zálohu SQL Serveru s příponou .bak na textový SQL skript pro kontrolu nebo pracovní postup migrace.
Převod nekomprimovaného textového skriptu SQL na optimalizovaný nativní soubor zálohy databáze zmenšuje velikost úložiště a zrychluje dobu obnovy serveru.