SQL mentés (.sql)

ISO/IEC Szabvány

Az SQL-parancsfájl adatbázis-utasításokat, például CREATE TABLE, INSERT és SELECT parancsokat tartalmazó szövegfájl. Az SQL-dialektusok eltérnek, ezért futtatás előtt ellenőrizze, hogy a céladatbázis támogatja-e a parancsfájl szintaxisát.

SQLITE konvertálása erre: SQL

Ingyenes, böngészőben használható SQLITE-konverter SQL formátumba. A fájlokat azonnal konvertálhatja az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) SQL fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) SQL fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

Nincs rögzített aláírás

ASCII ÁBRÁZOLÁS: Nincs rögzített aláírás

Szabványosítás: ISO/IEC 9075:2023 / ANSI SQL Standard

Műszaki specifikációk

Konténer architektúraUnicode-os egyszerűszöveges parancsfájl adatdefiníciós (DDL) és adatkezelési (DML) utasításokkal
TömörítésTömörítetlen egyszerű szöveg (gyakran .sql.gz vagy .sql.zst formátumba tömörítik)
BájtsorrendUTF-8 / Unicode szövegfolyam
SzínterekNem alkalmazható (adatbázis-parancsfájl)
Csatornák és struktúraRelációs sémadefiníciók (táblák, nézetek, indexek, idegen kulcsok) és INSERT-adatsorok
Max. méretekA szöveg hossza nincs korlátozva (több terabájtos adatbázis-mentéseket is támogat)
ÁtlátszóságNincs
Streaming és progresszívTranzakciós, utasításonkénti adatfolyam-végrehajtás

Műszaki összehasonlító mátrix: SQL vs. versenytársak

Technikai attribútumSQL (Jelenlegi)CSVJSONSQLITE
SémamegőrzésTeljes séma (táblák, típusok, idegen kulcsok)Csak a fejléc oszlopneveiÖnmagát leíró dokumentumstruktúraTeljes bináris adatbázisfájl
Végrehajtási modellVégrehajtható DDL/DML parancsfájlPasszív sor- és oszlopadatokPasszív dokumentumfaKözvetlen bináris B-fa-lekérdezés
SzabványosításISO/IEC 9075 szabványRFC 4180RFC 8259SQLite nyílt fájlformátum
AdatkapcsolatokTeljes idegenkulcs-korlátozásokLapos táblázatos (nincsenek kapcsolatok)Beágyazott szülő-gyermek objektumokTeljes relációs megkötések

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

Az adatbázis importálása sikertelen ezzel a hibával: 'ERROR: syntax error at or near...'.

Kiváltó ok: SQL-dialektus-eltérés (pl. egy MySQL-ben backtickeket használó mentés importálása PostgreSQL-be) vagy nem megfelelően escape-elt aposztrófok.

Helyreállítás: A dialektus szintaxisának konvertálása és tisztítása a File2File.app Database Transpiler segítségével.

Biztonsági elemzés és elemző (parser) támadási vektorok

A nem megbízható SQL-szkriptek futtatása katasztrofális SQL-injekcióhoz, tetszőleges fájlírásokhoz vagy adminisztratív jogosultságok eszkalációjához vezethet.

Ismert támadási vektorok

  • SQL-injekció (SQLi), amely nem szándékos adminisztratív parancsokat hajt végre (pl. DROP TABLE, GRANT ALL).
  • Tetszőleges kiszolgálófájl olvasása/írása a 'COPY ... FROM PROGRAM' vagy a 'LOAD DATA INFILE' parancsokon keresztül.
  • Szolgáltatásmegtagadás (DoS) indexelés nélküli rekurzív közös táblakifejezések (CTE-k) révén.

Ajánlott védekezési módszerek: Soha ne futtasson nem megbízható SQL-szkripteket közvetlenül éles adatbázis-kiszolgálókon; vizsgálja meg és tisztítsa meg a lekérdezéseket elkülönített tesztkörnyezetekben.

Történeti háttér és mérföldkövek

2023Megjelenik az ISO/IEC 9075:2023 szabvány, amely bevezeti a tulajdonsággráf-lekérdezéseket (SQL/PGQ) a szabványos SQL-be.
1986Az ANSI és az ISO a relációs adatbázis-kezelő rendszerek hivatalos szabványává fogadja el az SQL-t.
1974Donald Chamberlin és Raymond Boyce kifejleszti a SEQUEL-t az IBM Researchnél Edgar F. Codd relációs modellje alapján.

Főbb előnyök

  • Az SQL-parancsfájlok táblákat hozhatnak létre, sorokat adhatnak hozzá, és relációs adatbázisokban végezhetnek lekérdezéseket. A szintaxis, például az adattípusok, az automatikusan generált oszlopok és a dátumfüggvények, eltér az SQLite, a MySQL, a PostgreSQL és az SQL Server esetében.
  • Teljes relációs hűség: az adatok mellett újra létrehozza a táblákat, az elsődleges és idegen kulcsokat, a megkötéseket és az indexeket.
  • Tranzakciós végrehajtás: az utasítások tranzakciókon belül futtathatók (BEGIN...COMMIT) az atomi adatbázis-visszaállítás garantálása érdekében.

Technikai korlátok és hátrányok

  • Dialektusok közötti inkompatibilitás: az apró szintaktikai eltérések (pl. AUTO_INCREMENT vs SERIAL vs AUTOINCREMENT) átalakítást igényelnek az adatbázismotorok között.
  • Hatalmas szöveges többlet: az egyszerű SQL INSERT utasítások jelentősen több helyet foglalnak, mint a bináris adatbázis-tárolás.
  • Lassú importálási idő hatalmas, több gigabájtos adatbázis-mentések esetén, ha az indexek újraépítése nincs letiltva.

Érdekes technikai tudnivalók

  • Az SQL eredetileg a 'SEQUEL' (Structured English Query Language) nevet viselte, de a Hawker Siddeley repülőgépgyártó céggel fennálló védjegyvita miatt SQL-re rövidítették.
  • A hivatalos ISO-szabvány szerint külön betűzve kell kiejteni ('S-Q-L'), de fejlesztők milliói a mindennapokban 'szekvél' néven hivatkoznak rá.
  • Becslések szerint több mint egybillió SQLite-adatbázis van aktív használatban telefonokon, számítógépeken és más termékeken.

Gyakran Ismételt Műszaki Kérdések

Mi az a .sql fájl?

A .sql fájl egy sima szöveges parancsfájl, amely SQL-parancsokat tartalmaz táblák létrehozásához, kapcsolatok létesítéséhez és adatsorok relációs adatbázisba történő beszúrásához.

Átalakíthatok SQL-adatbázismentéseket CSV- vagy JSON-fájlokká?

Igen. A File2File.app elemezni tudja a .sql adatbázismentési fájlokat, és a táblázatokat közvetlenül letisztult CSV-fájlokba vagy strukturált JSON-dokumentumokba exportálhatja.

Miért nem működik a MySQL .sql fájlom a PostgreSQL-ben?

A különböző adatbázis-rendszerek dialektusai eltérnek egymástól (például az adattípusokban és az idézőjelek escape-elésében). Az adatbázismotorok közötti átálláskor át kell alakítani a dialektusspecifikus szintaxist.