SQL izvod (.sql)

Standard Standard

SQL skripta je tekstualna datoteka s naredbama za bazu podataka, kao što su CREATE TABLE, INSERT i SELECT. Dijalekti SQL-a se razlikuju, pa pre pokretanja proverite da li ciljna baza podržava sintaksu skripte.

Konvertujte SQLITE u SQL

Besplatan konvertor SQLITE u SQL u pregledaču. Konvertujte datoteke odmah na svom uređaju.

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju SQL datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju SQL datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

Nema fiksnog potpisa (SQL je običan tekst)

ASCII REPREZENTACIJA: Nema fiksnog potpisa

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

Tehničke specifikacije

Arhitektura kontejneraSkripta u običnom Unicode tekstu sa naredbama za definisanje podataka (DDL) i rukovanje podacima (DML)
KompresijaNekomprimovan običan tekst (često se kompresuje kao .sql.gz ili .sql.zst)
Bajtni redosled (Endianness)Tekstualni tok UTF-8 / Unicode
Prostori bojaNije primenljivo (skripta baze podataka)
Kanali i strukturaDefinicije relacionih šema (tabele, pogledi, indeksi, strani ključevi) i redovi s naredbama INSERT za podatke
Maksimalne dimenzijeNeograničena dužina teksta (podržava višeterabajtne ispise baza podataka)
TransparentnostNema
Strimovanje i progresivno učitavanjeTransakciono izvršavanje u strimu, naredbu po naredbu

Tehnička matrica poređenja: SQL u odnosu na konkurente

Tehnički atributSQL (Trenutno)CSVJSONSQLITE
Očuvanje šemeKompletna šema (tabele, tipovi, strani ključevi)Samo imena kolona zaglavljaStruktura dokumenta koja sama sebe opisujeKompletna binarna datoteka baze podataka
Model izvršavanjaIzvršljiva DDL/DML skriptaPasivni podaci redova i kolonaPasivno stablo dokumenataDirektan binarni B-tree upit
StandardizacijaISO/IEC 9075 standardRFC 4180RFC 8259SQLite format otvorenog fajla
Relacije podatakaPotpuna ograničenja stranih ključevaRavno tabelarno (bez relacija)Ugnježdeni objekti roditelj-detePotpuna relaciona ograničenja

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Uvoz baze podataka ne uspeva sa porukom 'ERROR: syntax error at or near...'.

Osnovni uzrok: Nepodudaranje SQL dijalekata (npr. uvoz MySQL dump-a sa obrnutim navodnicima u PostgreSQL) ili jednostruki navodnici bez escape znaka.

Oporavak: Konvertujte i očistite sintaksu dijalekta koristeći File2File.app Database Transpiler.

Bezbednosna analiza i vektori napada parsera

Izvršavanje SQL skripti koje nisu proverene može izazvati katastrofalnu SQL injekciju, proizvoljno upisivanje fajlova ili eskalaciju administrativnih privilegija.

Poznati vektori napada

  • SQL injekcija (SQLi) koja izvršava neželjene administrativne komande (npr. DROP TABLE, GRANT ALL).
  • Proizvoljno čitanje/pisanje fajlova na serveru preko 'COPY ... FROM PROGRAM' ili 'LOAD DATA INFILE'.
  • Uskraćivanje usluge (DoS) kroz neindeksirane rekurzivne izraze zajedničkih tabela (CTE).

Najbolje prakse za zaštitu: Nikada ne izvršavajte SQL skripte iz nepouzdanih izvora direktno na serveru baze podataka za produkciju; pregledajte i sanitizujte upite u izolovanim zaštićenim okruženjima.

Istorijat i prekretnice

2023Objavljen ISO/IEC 9075:2023, koji integriše upite grafa svojstava (SQL/PGQ) u standardni SQL.
1986ANSI i ISO usvajaju SQL kao zvanični standard za sisteme upravljanja relacionim bazama podataka.
1974Donald Čembrlin (Donald Chamberlin) i Rejmond Bojs (Raymond Boyce) razvijaju SEQUEL u IBM Research-u na osnovu modela relacija Edgara F. Koda (Edgar F. Codd).

Ključne prednosti

  • SQL skripte mogu da definišu tabele, dodaju redove i izvršavaju upite nad relacionim bazama podataka. Sintaksa za tipove podataka, kolone s automatskim identifikatorima i datumske funkcije razlikuje se u SQLite-u, MySQL-u, PostgreSQL-u i SQL Serveru.
  • Kompletna relaciona vernost: rekreira tabele, primarne ključeve, strane ključeve, ograničenja i indekse zajedno sa podacima.
  • Transakciono izvršavanje: izjave se mogu pokretati unutar transakcija (BEGIN...COMMIT) kako bi se garantovalo atomsko obnavljanje baze podataka.

Tehnička ograničenja i nedostaci

  • Nekompatibilnosti između dijalekata: suptilne razlike u sintaksi (npr. AUTO_INCREMENT u odnosu na SERIAL u odnosu na AUTOINCREMENT) zahtevaju prevođenje između mašina baza podataka.
  • Veliki tekstualni višak: obične SQL INSERT izjave zauzimaju znatno više prostora od binarnog skladištenja baze podataka.
  • Sporo vreme uvoza na masivnim dump-ovima baza podataka od nekoliko gigabajta ako ponovno pravljenje indeksa nije onemogućeno.

Zanimljivosti

  • SQL se originalno zvao 'SEQUEL' (Structured English Query Language), ali je skraćen na SQL zbog spora oko žiga sa kompanijom za proizvodnju aviona Hawker Siddeley.
  • Formalni ISO standard ga izgovara kao pojedinačna slova 'S-Q-L', ali ga milioni programera u svakodnevnom govoru izgovaraju kao 'sekvel' (sequel).
  • Procenjuje se da je u aktivnoj upotrebi više od bilion SQLite baza podataka, na telefonima, računarima i drugim proizvodima.

Često postavljana tehnička pitanja

Šta je .sql fajl?

.sql fajl je obična tekstualna skripta koja sadrži SQL komande koje kreiraju tabele, uspostavljaju veze i ubacuju redove podataka u relacionu bazu podataka.

Mogu li da konvertujem SQL dump fajlove u CSV ili JSON?

Da. File2File.app može da parsira .sql fajlove ispisivanja baze podataka (dump) i izveze tabele direktno u čiste CSV tabele ili strukturirane JSON dokumente.

Zašto moj MySQL .sql fajl ne radi u PostgreSQL-u?

Različiti sistemi baza podataka imaju vlasničke razlike u dijalektima (kao što su tipovi podataka i eskapiranje navodnika). Morate da konvertujete sintaksu specifičnu za dijalekat kada vršite migraciju između sistema baza podataka.