Izpis SQL (.sql)

ISO/IEC Standard

Skript Structured Query Language (SQL) je univerzalni format relacijskih podatkovnih baz, ki vsebuje deklarativne stavke DDL za gradnjo tabel podatkovnih baz in stavke DML INSERT za vnašanje podatkov.

Pretvori SQLITE v SQL

Brezplačen pretvornik iz SQLITE v SQL v brskalniku. Pretvorite datoteke takoj v svoji napravi.

Pregled in metapodatki

Operacijski sistemi in analizatorji datotek identificirajo datoteke SQL s pregledom vodilnega binarnega zaporedja bajtov:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

Podpis glave na ravni bajtov (Čarobni bajti)

Operacijski sistemi in analizatorji datotek identificirajo datoteke SQL s pregledom vodilnega binarnega zaporedja bajtov:

PODPIS HEX (ZAMIK 0):

2D 2D 20 / 43 52 45 41 54 45

REPREZENTACIJA ASCII: -- / CREATE

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

Tehnične specifikacije

Arhitektura vsebnikaUnicode plain text script containing Data Definition Language (DDL) and Data Manipulation Language (DML) statements
StiskanjeUncompressed plaintext (frequently compressed as .sql.gz or .sql.zst)
Vrstni red bajtovUTF-8 / Unicode text stream
Barvni prostoriN/A (Database Script)
Kanali in strukturaRelational schema definitions (tables, views, indexes, foreign keys) and data INSERT rows
Največje dimenzijeUnbounded text length (supports multi-terabyte database dumps)
ProsojnostNone
Pretočno in progresivno predvajanjeStatement-by-statement transactional streaming execution

Tehnična primerjalna matrika: SQL proti konkurenci

Tehnični atributSQL (Trenutno)CSVJSONSQLITE
Ohranitev shemeCelotna shema (tabele, tipi, tuji ključi)Samo imena stolpcev v glaviStruktura dokumenta, ki opisuje samega sebeCelotna binarna datoteka podatkovne baze
Izvedbeni modelIzvedljiv skript DDL/DMLPasivni podatki vrstic in stolpcevPasivno drevo dokumentaNeposredna binarna poizvedba B-drevesa
StandardizacijaStandard ISO/IEC 9075RFC 4180RFC 8259Odprti format datoteke SQLite
Podatkovne relacijePopolne omejitve tujih ključevPravokotna tabelarična oblika (brez relacij)Ugnezdeni objekti starš-otrokPopolne relacijske omejitve

Pogosti načini okvar in vodič za heksadecimalno obnovo

Uvoz podatkovne baze ne uspe z napako 'ERROR: syntax error at or near...'.

Glavni vzrok: Neujemanje narečja SQL (npr. uvoz izpisa MySQL z narekovaji ` v PostgreSQL) ali neubežni enojni narekovaji.

Sanacija: Pretvorite in očistite sintakso narečja z uporabo orodja File2File Database Transpiler.

Varnostna analiza in napadalni vektorji razčlenjevalnika

Izvajanje skriptov SQL, ki jim ne zaupate, lahko povzroči katastrofalno injiciranje SQL, poljubno pisanje datotek ali stopnjevanje skrbniških privilegijev.

Znani vektorji napada

  • Injiciranje SQL (SQLi), ki izvaja nezaželene skrbniške ukaze (npr. DROP TABLE, GRANT ALL).
  • Poljubno branje/pisanje datotek na strežniku preko 'COPY ... FROM PROGRAM' ali 'LOAD DATA INFILE'.
  • Zavrnitev storitve prek neindeksiranih rekurzivnih skupnih izrazov tabel (CTE).

Obrambne najboljše prakse:

Zgodovinski izvor in mejniki

2023Izdan standard ISO/IEC 9075:2023, ki v standardni SQL vključuje poizvedbe po grafih lastnosti (SQL/PGQ).
1986Organizaciji ANSI in ISO sprejmeta SQL kot uradni standard za sisteme za upravljanje relacijskih podatkovnih baz.
1974Donald Chamberlin in Raymond Boyce razvijeta jezik SEQUEL v oddelku IBM Research na podlagi relacijskega modela Edgara F. Codda.

Ključne prednosti

  • Neprikosnoveni globalni standard za hrambo podatkov v podjetjih: združljiv s sistemi PostgreSQL, MySQL, SQLite, Oracle in SQL Server.
  • Popolna relacijska zvestoba: poleg podatkov poustvari tabele, primarne ključe, tuje ključe, omejitve in indekse.
  • Transakcijsko izvajanje: stavke je mogoče izvajati znotraj transakcij (BEGIN...COMMIT) za zagotovitev atomske obnove podatkovne baze.

Tehnične omejitve in slabosti

  • Nezdružljivost narečij: subtilne razlike v sintaksi (npr. AUTO_INCREMENT proti SERIAL proti AUTOINCREMENT) zahtevajo pretvorbo med pogoni podatkovnih baz.
  • Velika režija besedila: navadni stavki SQL INSERT zavzamejo znatno več prostora kot binarna hramba podatkovne baze.
  • Počasen uvoz pri obsežnih večgigabajtnih izpisih podatkovnih baz brez izklopljene ponovne gradnje indeksov.

Zanimive tehnične malenkosti

  • SQL se je pierwotno imenoval 'SEQUEL' (Structured English Query Language), vendar je bil zaradi spora glede blagovne znamke s podjetjem Hawker Siddeley skrajšan v SQL.
  • Uradni standard ISO ga izgovarja kot posamezne črke 'S-Q-L', vendar ga milijoni razvijalcev pogovorno izgovarjajo kot 'sequel'.
  • Ocenjuje se, da je SQLite, ki deluje na sintaksi SQL, nameščen na več kot 1 bilijonu naprav po vsem svetu.

Pogosta tehnična vprašanja

Kaj je .sql datoteka?

Datoteka .sql je skripta v golem besedilu, ki vsebuje ukaze SQL za ustvarjanje tabel, vzpostavljanje povezav in vstavljanje vrstic podatkov v relacijsko bazo podatkov.

Ali lahko pretvorim datoteke izpisa SQL v CSV ali JSON?

Da. File2File.app lahko razčleni izpisne datoteke baze podatkov .sql in tabele neposredno izvozi v čiste preglednice CSV ali strukturirane dokumente JSON.

Zakaj moja datoteka MySQL .sql ne deluje v PostgreSQL?

Različni sistemi podatkovnih baz se med seboj razlikujejo po lastniških narečjih (kot so podatkovni tipi in ubežni znaki). Pri selitvi med pogoni podatkovnih baz morate pretvoriti sintakso, značilno za določeno narečje.