SQL tõmmis (.sql)
ISO/IEC StandardStructured Query Language Script (SQL) on universaalne relatsioonandmebaasi vorming, mis sisaldab deklaratiivseid DDL-lauseidandmebaasitabelite konstrueerimiseks ja DML-i INSERT-lauseid andmete sisestamiseks.
Teisenda formaadist SQLITE formaati SQL
Tasuta SQLITE -> SQL konverter brauseris. Teisenda faile koheselt oma seadmes.
Kontrolli ja metaandmed
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad SQL faile, kontrollides algset binaarset baidijada:
Baidi-taseme päise allkiri (maagilised baidid)
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad SQL faile, kontrollides algset binaarset baidijada:
HEX-ALLKIRI (NIHE 0):
2D 2D 20 / 43 52 45 41 54 45ASCII-ESITUS: -- / CREATE
Standardiseerimine: ISO/IEC 9075:2023 / ANSI SQL Standard
Tehnilised andmed
| Konteineri arhitektuur | Unicode plain text script containing Data Definition Language (DDL) and Data Manipulation Language (DML) statements |
| Tihendamine | Uncompressed plaintext (frequently compressed as .sql.gz or .sql.zst) |
| Baitide järjekord (Endianness) | UTF-8 / Unicode text stream |
| Värviruumid | N/A (Database Script) |
| Kanalid ja struktuur | Relational schema definitions (tables, views, indexes, foreign keys) and data INSERT rows |
| Max mõõtmed | Unbounded text length (supports multi-terabyte database dumps) |
| Läbipaistvus | None |
| Voogedastus ja progressiivsus | Statement-by-statement transactional streaming execution |
Tehniline võrdlusmaatriks: SQL vs konkurendid
| Tehniline atribuut | SQL (Praegune) | CSV | JSON | SQLITE |
|---|---|---|---|---|
| Skeemi säilitamine | Täielik skeem (tabelid, tüübid, välisvõtmed) | Ainult päiseveeru nimed | Isekirjeldav dokumendistruktuur | Täielik binaarne andmebaasifail |
| Täitmismudel | Käivitatav DDL/DML skript | Passiivsed rea-veeru andmed | Passiivne dokumentide puu | Otsene binaarne B-puu päring |
| Standardiseerimine | ISO/IEC 9075 standard | RFC 4180 | RFC 8259 | SQLite avatud failivorming |
| Andmesuhted | Täielikud välisvõtme piirangud | Lame tabelikujuline (suhteid pole) | Pesastatud vanem-laps objektid | Täielikud relatsioonilised piirangud |
Levinud riknemisvead ja heksataaste juhend
Andmebaasi import ebaõnnestub veaga 'ERROR: syntax error at or near...'.
Juurpõhjus: SQL-i dialekti ebakõla (nt MySQL-i tagasilöögi (backtick) tõmmise importimine PostgreSQL-i) või põgenemata (unescaped) ülakomad.
Taastamine: Konverteerige ja desinfitseerige dialekti süntaks File2File Database Transpileri abil.
Turvaanalüüs ja parsimisründevektorid
Usaldamatute SQL-skriptide käivitamine võib põhjustada katastroofilise SQL-injektsiooni, meelevaldseid failikirjutamisi või administratiivsete õiguste eskaleerimist.
Teadaolevad ründavektorid
- SQL-injektsioon (SQLi), mis käivitab soovimatuid administratiivseid käske (nt DROP TABLE, GRANT ALL).
- Meelevaldne serverifaili lugemine/kirjutamine funktsioonide 'COPY ... FROM PROGRAM' või 'LOAD DATA INFILE' kaudu.
- Teenusetõkestus (DoS) indekseerimata rekursiivsete ühiste tabeliavalduste (CTE-de) kaudu.
Kaitsealased parimad tavad:
Ajalooline taust ja verstapostid
Peamised eelised
- Vaieldamatu globaalne standard ettevõtte andmete salvestamiseks: ühildub PostgreSQL-i, MySQL-i, SQLite-i, Oracle'i ja SQL Serveriga.
- Täielik relatsiooniline vastavus: taastab tabelid, primaarvõtmed, välisvõtmed, piirangud ja indeksid koos andmetega.
- Tehingupõhine täitmine: lauseid saab käivitada tehingute sees (BEGIN...COMMIT), et tagada andmebaasi aatomiline taastamine.
Tehnilised piirangud ja puudused
- Dialektide ühildamatus: peened süntaksierinevused (nt AUTO_INCREMENT vs SERIAL vs AUTOINCREMENT) nõuavad tõlkimistandmebaasimootorite vahel.
- Massiivne teksti lisakulu: tavalised SQL INSERT laused võtavad oluliselt rohkem ruumi kui binaarne andmebaasi salvestusruum.
- Aeglased impordiajad massiivsete mitme gigabaidise andmebaasi tõmmiste puhul ilma keelatud indeksite ümberehituseta.
Huvitavaid tehnilisi fakte
- SQL-i algne nimi oli 'SEQUEL' (Structured English Query Language), kuid kaubamärgivaidluse tõttu lennukitootmisettevõttega Hawker Siddeley lühendati see SQL-iks.
- Ametlik ISO standard hääldab seda üksikute tähtedena 'S-Q-L', kuid miljonid arendajad hääldavad seda kõnekeeles kui 'seekvel'.
- SQLite, mis töötab SQL-süntaksil, on hinnanguliselt installitud üle 1 triljonile seadmele kogu maailmas.
Korduma kippuvad tehnilised küsimused
Mis on .sql-fail?
.sql-fail on lihttekstiskript, mis sisaldab SQL-käske, mis loovad tabeleid, loovad seoseid ja sisestavad andmeridu relatsioonilisse andmebaasi.
Kas ma saan SQL-i tõmmefailid (dump) CSV-ks või JSON-iks konverteerida?
Jah. File2File.app suudab parsida .sql andmebaasi tõmmefaile ja eksportida tabelid otse puhtatesse CSV-tabelitesse või struktureeritud JSON-dokumentidesse.
Miks minu MySQL-i .sql-fail PostgreSQL-is ei tööta?
Erinevatel andmebaasisüsteemidel on omapärased dialektide erinevused (nagu andmetüübid ja jutumärkide põgenemine). Andmebaasimootorite vahel migreerimisel peate dialektispetsiifilist süntaksit transkodeerima.
Seotud SQL teisenduspaarid
SQLite andmebaasifaili teisendamine SQL-tõmmise tekstiskriptiks muudab binaarse andmebaasi loetavateks tekstikäsklusteks andmebaasi hõlpsaks migreerimiseks ja serverisse importimiseks.
SQL-dumpu tekstiskripti konverteerimine JSON-andmeekspordiks muudab jäigad relatsioonandmebaasi tabelid paindlikeks pesastatud objektideks kaasaegsete veebirakenduste jaoks.
Teisendage relatsioonandmebaasi varukoopia skriptid lihtsateks tabelikujulisteks arvutustabeliteks andmete analüüsiks ja aruandluseks.
Kahendvormingus andmebaasi varukoopia teisendamine lihttekstina SQL-skriptiks võimaldab teil andmebaasitabeleid ja andmeid täiesti erinevate andmebaasimootorite vahel liigutada.
Tihendamata lihttekstina SQL-skripti teisendamine optimeeritud natiivseks andmebaasi varukoopiafailiks vähendab salvestusruumi ja kiirendab serveri taastamisaega.