SQL kopija (.sql)

ISO/IEC Standartinis

Struktūrizuotų užklausų kalbos skriptas (SQL) yra universalus reliacinių duomenų bazių formatas, kurį sudaro deklaratyvūs DDL teiginiai duomenų bazių lentelėms kurti ir DML INSERT teiginiai duomenims įrašyti.

Konvertuoti SQLITE į SQL

Nemokamas SQLITE į SQL konverteris naršyklėje. Konvertuokite failus akimirksniu savo įrenginyje.

Tikrinti ir metaduomenys

Operacinės sistemos ir failų analizatoriai atpažįsta SQL failus tikrindami pradinę dvejetainę baitų seką:

Pasirinkite arba nuvilkite failus čia

100% privatus konvertavimas naršyklėje - failai niekada nepalieka jūsų įrenginio

arba įklijuokite Ctrl+V
Nulinio tinklo perdavimo privatumo garantija: 0 baitų įkelta į išorinius serverius. Visas apdorojimas vyko vietoje, jūsų naršyklės smėlio dėžėje (sandbox).

Baitų lygio antraštės parašas (magiškieji baitai)

Operacinės sistemos ir failų analizatoriai atpažįsta SQL failus tikrindami pradinę dvejetainę baitų seką:

ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):

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

ASCII ATVAIZDAVIMAS: -- / CREATE

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

Techninės specifikacijos

Konteinerio architektūraUnicode plain text script containing Data Definition Language (DDL) and Data Manipulation Language (DML) statements
GlaudinimasUncompressed plaintext (frequently compressed as .sql.gz or .sql.zst)
Baitų seka (Endianness)UTF-8 / Unicode text stream
Spalvų erdvėsN/A (Database Script)
Kanalai ir struktūraRelational schema definitions (tables, views, indexes, foreign keys) and data INSERT rows
Maksimalūs matmenysUnbounded text length (supports multi-terabyte database dumps)
SkaidrumasNone
Srautas ir progresyvusis įkėlimasStatement-by-statement transactional streaming execution

Techninė palyginimo matrica: SQL vs konkurentai

Techninis atributasSQL (Dabartinis)CSVJSONSQLITE
Schemos išsaugojimasPilna schema (lentelės, tipai, išoriniai raktai)Tik antraštės stulpelių pavadinimaiSavarankiškai aprašoma dokumento struktūraPilnas dvejetainis duomenų bazės failas
Vykdymo modelisVykdomasis DDL/DML skriptasPasyvūs eilutės-stulpelio duomenysPasyvus dokumentų medisTiesioginė dvejetainė B-medžio užklausa
StandartizavimasISO/IEC 9075 standartasRFC 4180RFC 8259SQLite atviras failo formatas
Duomenų ryšiaiPilni išorinio rakto apribojimaiPlokščioji lentelė (be ryšių)Įdėti tėvo-vaiko objektaiPilni reliaciniai apribojimai

Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas

Duomenų bazės importavimas nepavyksta su klaida „ERROR: syntax error at or near...".

Pirminė priežastis: SQL dialekto neatitikimas (pvz., MySQL atvirkštinių kabučių archyvo importavimas į PostgreSQL) arba neištrintos viengubos kabutės.

Atkūrimas: Konvertuokite ir išvalykite dialekto sintaksę naudodami „File2File Database Transpiler".

Saugumo analizė ir analizatoriaus atakos vektoriai

Nepatikimų SQL skriptų vykdymas gali sukelti katastrofiškas SQL injekcijas, savavališką failų įrašymą arba administracinių teisių eskalavimą.

Žinomi atakos vektoriai

  • SQL injekcijos (SQLi), vykdančios nenumatytas administracines komandas (pvz., DROP TABLE, GRANT ALL).
  • Savavališkas serverio failų skaitymas/rašymas per „COPY ... FROM PROGRAM" arba „LOAD DATA INFILE".
  • Paslaugos trikdžiai per neindeksuotas rekursines bendras lentelių išraiškas (CTE).

Geriausia apsaugos praktika:

Istorinė kilmė ir svarbiausi etapai

2023Išleistas ISO/IEC 9075:2023 standartas, integruojantis savybių grafo užklausas (SQL/PGQ) į standartinį SQL.
1986ANSI ir ISO priima SQL kaip oficialų reliacinių duomenų bazių valdymo sistemų standartą.
1974Donald Chamberlin ir Raymond Boyce sukūrė SEQUEL „IBM Research" laboratorijoje, remdamiesi Edgar F. Codd reliaciniu modeliu.

Pagrindiniai privalumai

  • Ginčytinas pasaulinis įmonių duomenų saugojimo standartas: suderinamas su PostgreSQL, MySQL, SQLite, Oracle ir SQL Server.
  • Pilnas reliacinis tikslumas: kartu su duomenimis atkuria lenteles, pirminius raktus, išorinius raktus, apribojimus ir indeksus.
  • Tranzakcinis vykdymas: teiginiai gali būti vykdomi tranzakcijose (BEGIN...COMMIT), garantuojant atominį duomenų bazės atkūrimą.

Techniniai apribojimai ir trūkumai

  • Dialektų nesuderinamumas: smulkūs sintaksės skirtumai (pvz., AUTO_INCREMENT vs SERIAL vs AUTOINCREMENT) reikalauja konvertavimo tarp duomenų bazių variklių.
  • Didelės teksto sąnaudos: paprasti SQL INSERT teiginiai užima žymiai daugiau vietos nei dvejetainis duomenų bazės saugojimas.
  • Lėtas importavimo laikas didžiuliuose daugelio gigabaitų duomenų bazių archyvuose, jei neišjungtas indeksų perstatymas.

Įdomūs techniniai faktai

  • SQL iš pradžių vadinosi „SEQUEL" (Structured English Query Language), bet buvo sutrumpintas iki SQL dėl prekių ženklo ginčo su „Hawker Siddeley" orlaivių kompanija.
  • Formalus ISO standartas jį taria kaip atskiras raides „S-Q-L", tačiau milijonai kūrėjų šnekamojoje kalboje jį vadina „sequel".
  • Apskaičiuota, kad SQLite, veikianti SQL sintaksės pagrindu, įdiegta daugiau nei 1 trilijone įrenginių visame pasaulyje.

Dažniausiai užduodami techniniai klausimai

Kas yra .sql failas?

.sql failas yra paprasto teksto scenarijus, kurio sudėtyje yra SQL komandos, sukuriančios lenteles, nustatančios ryšius ir įterpiančios duomenų eilutes į reliacinę duomenų bazę.

Ar galiu konvertuoti SQL iškelties (dump) failus į CSV arba JSON?

Taip. File2File.app gali išanalizuoti .sql duomenų bazės iškelties failus ir eksportuoti lenteles tiesiai į švarius CSV skaičiuotuvus arba struktūrizuotus JSON dokumentus.

Kodėl mano MySQL .sql failas neveikia PostgreSQL?

Skirtingos duomenų bazės sistemos turi patentuotų dialekto skirtumų (pvz., duomenų tipų ir kabučių perkėlimo). Migruojant tarp duomenų bazės variklių, turite konvertuoti konkrečiam dialektui būdingą sintaksę.