SQL izvadak (.sql)

ISO/IEC Standardno

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

Odaberite ili ispustite datoteke ovdje

100% privatna pretvorba u pregledniku - datoteke nikada ne napuštaju vaš uređaj

ili zalijepi Ctrl+V
Jamstvo privatnosti nulte mrežne transmisije: 0 bajtova učitano na vanjske poslužitelje. Sva obrada odvijala se lokalno u sandčiću vašeg preglednika.

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 45

ASCII PRIKAZ: -- / CREATE

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

Tehničke specifikacije

Arhitektura spremnikaUnicode plain text script containing Data Definition Language (DDL) and Data Manipulation Language (DML) statements
KompresijaUncompressed plaintext (frequently compressed as .sql.gz or .sql.zst)
字节序UTF-8 / Unicode text stream
Prostori bojaN/A (Database Script)
Kanali i strukturaRelational schema definitions (tables, views, indexes, foreign keys) and data INSERT rows
Maksimalne dimenzijeUnbounded text length (supports multi-terabyte database dumps)
ProzirnostNone
Streaming i progresivnoStatement-by-statement transactional streaming execution

Tehnička matrica usporedbe: SQL vs Konkurencija

Tehnički atributSQL (Trenutno)CSVJSONSQLITE
Očuvanje shemePotpuna shema (tablice, vrste, strani ključevi)Samo nazivi stupaca zaglavljaStruktura dokumenta koja sama sebe opisujePotpuna binarna datoteka baze podataka
Model izvršavanjaIzvršna DDL/DML skriptaPasivni podatkovni redci i stupciPasivno stablo dokumenataIzravni binarni B-stablo upit
StandardizacijaISO/IEC 9075 standardRFC 4180RFC 8259SQLite format otvorenih datoteka
Podatkovne vezePotpuna ograničenja stranih ključevaRavne tablične (bez veza)Ugniježđeni objekti roditelj-dijetePotpuna 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

2023Izdana norma ISO/IEC 9075:2023, koja integrira upite nad grafovima svojstava (SQL/PGQ) u standardni SQL.
1986ANSI i ISO prihvaćaju SQL kao službeni standard za sustave upravljanja relacijskim bazama podataka.
1974Donald Chamberlin i Raymond Boyce razvijaju SEQUEL u IBM-ovom istraživačkom centru na temelju relacijskog modela EdGara F. Codda.

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.