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ů:

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

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 podpisu

ASCII REPREZENTACE: Bez pevného podpisu

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

Technické specifikace

Architektura kontejneruProstý textový skript Unicode obsahující příkazy jazyka definice dat (DDL) a jazyka manipulace s daty (DML)
KompreseNekomprimovaný prostý text (často komprimovaný jako .sql.gz nebo .sql.zst)
Pořadí bajtůProud textu UTF-8 / Unicode
Barevné prostoryNevztahuje se (databázový skript)
Kanály a strukturaDefinice relačních schémat (tabulky, pohledy, indexy, cizí klíče) a řádky dat INSERT
Max. rozměryDé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ý atributSQL (Aktuální)CSVJSONSQLITE
Zachování schématuKompletní schéma (tabulky, typy, cizí klíče)Pouze názvy sloupců v hlavičceStruktura dokumentu s vlastním popisemKompletní binární databázový soubor
Model prováděníSpustitelný skript DDL/DMLPasivní řádková a sloupcová dataPasivní strom dokumentuPřímý binární dotaz B-stromu
StandardizaceStandard ISO/IEC 9075RFC 4180RFC 8259Otevřený formát souborů SQLite
Vztahy mezi datyPlná omezení cizích klíčůPloché tabulkové (bez vztahů)Vnořené objekty rodič-potomekPlná 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

2023Vydána norma ISO/IEC 9075:2023, která do standardního SQL integruje dotazy nad grafy vlastností (SQL/PGQ).
1986ANSI a ISO přijímají SQL jako oficiální standard pro systémy řízení relačních databází.
1974Donald Chamberlin a Raymond Boyce vyvíjejí v IBM Research jazyk SEQUEL na základě relačního modelu Edgara F. Codda.

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.