SQL izvadak (.sql)
ISO/IEC StandardnoStructured Query Language Script (SQL) univerzalni je relacijski format baza podataka koji sadrži deklarativne DDL izjave za konstruiranje tablica baze podataka i DML INSERT izjave za unos podataka.
Pretvori SQLITE u SQL
Besplatni SQLITE u SQL pretvarač u pregledniku. Trenutno pretvorite datoteke na svom uređaju.
Pregledaj i metapodaci
Operativni sustavi i alati za analizu datoteka identificiraju SQL datoteke provjerom početnog niza binarnih bajtova:
Potpis zaglavlja na razini bajtova (Magic Bytes)
Operativni sustavi i alati za analizu datoteka identificiraju SQL datoteke provjerom početnog niza binarnih bajtova:
HEX POTPIS (POMAK 0):
2D 2D 20 / 43 52 45 41 54 45ASCII PRIKAZ: -- / CREATE
Standardizacija: ISO/IEC 9075:2023 / ANSI SQL Standard
Tehničke specifikacije
| Arhitektura spremnika | Unicode plain text script containing Data Definition Language (DDL) and Data Manipulation Language (DML) statements |
| Kompresija | Uncompressed plaintext (frequently compressed as .sql.gz or .sql.zst) |
| 字节序 | UTF-8 / Unicode text stream |
| Prostori boja | N/A (Database Script) |
| Kanali i struktura | Relational schema definitions (tables, views, indexes, foreign keys) and data INSERT rows |
| Maksimalne dimenzije | Unbounded text length (supports multi-terabyte database dumps) |
| Prozirnost | None |
| Streaming i progresivno | Statement-by-statement transactional streaming execution |
Tehnička matrica usporedbe: SQL vs Konkurencija
| Tehnički atribut | SQL (Trenutno) | CSV | JSON | SQLITE |
|---|---|---|---|---|
| Očuvanje sheme | Potpuna shema (tablice, vrste, strani ključevi) | Samo nazivi stupaca zaglavlja | Struktura dokumenta koja sama sebe opisuje | Potpuna binarna datoteka baze podataka |
| Model izvršavanja | Izvršna DDL/DML skripta | Pasivni podatkovni redci i stupci | Pasivno stablo dokumenata | Izravni binarni B-stablo upit |
| Standardizacija | ISO/IEC 9075 standard | RFC 4180 | RFC 8259 | SQLite format otvorenih datoteka |
| Podatkovne veze | Potpuna ograničenja stranih ključeva | Ravne tablične (bez veza) | Ugniježđeni objekti roditelj-dijete | Potpuna relacijska ograničenja |
Uobičajeni načini oštećenja i vodič za heksadecimalni oporavak
Uvoz baze podataka ne uspijeva s pogreškom 'ERROR: syntax error at or near...'.
Temeljni uzrok: Nepodudaranje SQL dijalekta (npr. uvoz MySQL ispisa s obrnutim apostrofima u PostgreSQL) ili neescapirani jednostruki navodnici.
Oporavak: Pretvorite i očistite sintaksu dijalekta pomoću File2File Database Transpylera.
Sigurnosna analiza i vektori napada na parser
Izvršavanje nepouzdanih SQL skripti može uzrokovati katastrofalnu SQL injekciju, proizvoljno pisanje datoteka ili eskalaciju administrativnih povlastica.
Poznati vektori napada
- SQL injekcija (SQLi) koja izvršava neželjene administrativne naredbe (npr. DROP TABLE, GRANT ALL).
- Proizvoljno čitanje/pisanje datoteka na poslužitelju putem naredbi 'COPY ... FROM PROGRAM' ili 'LOAD DATA INFILE'.
- Uskraćivanje usluge putem neindeksiranih rekurzivnih izraza zajedničkih tablica (CTE).
Najbolje obrambene prakse:
Povijesni izvori i prekretnice
Ključne prednosti
- Neprikosnoveni globalni standard za pohranu podataka u poduzećima: kompatibilan s PostgreSQL-om, MySQL-om, SQLite-om, Oracle-om i SQL Serverom.
- Potpuna relacijska vjernost: ponovno stvara tablice, primarne ključeve, strane ključeve, ograničenja i indekse uz same podatke.
- Transakcijsko izvođenje: izjave se mogu izvršavati unutar transakcija (BEGIN...COMMIT) kako bi se zajamčila atomska obnova baze podataka.
Tehnička ograničenja i nedostaci
- Nekompatibilnosti među dijalektima: suptilne razlike u sintaksi (npr. AUTO_INCREMENT vs. SERIAL vs. AUTOINCREMENT) zahtijevaju pretvorbu između pogona baza podataka.
- Masivni tekstualni trošak: obične SQL INSERT izjave zauzimaju znatno više prostora od binarne pohrane u bazi podataka.
- Sporo vrijeme uvoza na masivnim bazama podataka od nekoliko gigabajta bez onemogućene ponovne izgradnje indeksa.
Zanimljive tehničke činjenice
- SQL se izvorno zvao 'SEQUEL' (Structured English Query Language), ali je skraćen na SQL zbog spora oko zaštitnog znaka s proizvođačem zrakoplova Hawker Siddeley.
- Formalni ISO standard izgovara ga slovima 'S-Q-L', ali ga milijuni programera u svakodnevnom govoru izgovaraju kao 'sequel'.
- Procjenjuje se da je SQLite, koji radi na SQL sintaksi, instaliran na preko 1 bilijun uređaja diljem svijeta.
Često postavljana tehnička pitanja
Što je .sql datoteka?
.sql datoteka je obična tekstualna skripta koja sadrži SQL naredbe koje stvaraju tablice, uspostavljaju odnose i umeću retke podataka u relacijsku bazu podataka.
Mogu li pretvoriti SQL datoteke izpisa (dump) u CSV ili JSON?
Da. File2File.app može analizirati .sql datoteke izpisa baze podataka i izvesti tablice izravno u čiste CSV proračunske tablice ili strukturirane JSON dokumente.
Zašto moja MySQL .sql datoteka ne radi u PostgreSQL-u?
Različiti sustavi baza podataka imaju vlasničke razlike u dijalektima (kao što su tipovi podataka i izbjegavanje navodnika). Prilikom migracije između pogona baza podataka morate prilagoditi sintaksu specifičnu za pojedini dijalekt.
Povezani parovi konverzije za SQL
Pretvaranje SQLite datoteke baze podataka u SQL Dump tekstualni skript pretvara binarnu bazu podataka u čitljive tekstualne naredbe za jednostavnu migraciju baze podataka i uvoz na poslužitelj.
Pretvaranje tekstualne skripte SQL dumpa u JSON izvoz podataka transformira krute relacijske tablice baze podataka u fleksibilne, ugniježđene objekte za moderne web aplikacije.
Pretvorite sigurnosne skripte relacijske baze podataka u ravne tablične proračunske tablice za jednostavnu analizu podataka i izvješćivanje.
Pretvaranje binarne sigurnosne kopije baze podataka u običnu tekstualnu SQL skriptu omogućuje premještanje tablica i podataka baze podataka između potpuno različitih poslužitelja baza podataka.
Pretvaranje nesabranog plain-text SQL skripta u optimiziranu izvornu sigurnosnu kopiju baze podataka smanjuje veličinu pohrane i ubrzava vrijeme obnove na poslužitelju.