SQL-vedos (.sql)

ISO/IEC Standardi

SQL-skripti on tekstitiedosto, joka sisältää tietokantakomentoja, kuten CREATE TABLE, INSERT ja SELECT. SQL-murteet eroavat toisistaan, joten tarkista ennen suorittamista, että kohdetietokanta tukee skriptin syntaksia.

Muunna tiedostot muodosta SQLITE muotoon SQL

Ilmainen selaimessa toimiva muunnin, jolla voit muuntaa tiedostoja muodosta SQLITE muotoon SQL. Muunna tiedostot hetkessä laitteellasi.

Tarkastele tiedostoa ja sen metatietoja

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat SQL-tiedostot tarkistamalla tiedoston alun binäärisarjan:

Valitse tai pudota tiedostot tähän

Yksityisesti - tiedostot eivät koskaan poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa Ulkoisille palvelimille ei ole ladattu yhtään tavua. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Otsaketunniste tavutasolla (tunnistetavut)

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat SQL-tiedostot tarkistamalla tiedoston alun binäärisarjan:

HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):

Ei kiinteää tunnistetta

ASCII-ESITYSTAPA: Ei kiinteää tunnistetta

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

Tekniset tiedot

SäiliöarkkitehtuuriUnicode-pohjainen selkotekstikomentosarja, joka sisältää DDL- ja DML-lauseita
PakkausPakkaamaton selkoteksti (pakataan usein .sql.gz- tai .sql.zst-muotoon)
Tavujärjestys (Endianness)UTF-8- tai Unicode-tekstivirta
VäriavaruudetEi sovellu (tietokantakomentosarja)
Kanavat ja rakenneRelaatiokaavion määrittelyt (taulut, näkymät, indeksit, viiteavaimet) ja tietoja sisältävät INSERT-rivit
Suurimmat mitatTekstin pituutta ei ole rajattu (tukee useiden teratavujen tietokantavedoksia)
LäpinäkyvyysEi läpinäkyvyyttä
Suoratoisto ja progressiivinen latausTransaktionaalinen suoritus lause kerrallaan suoratoistona

Tekninen vertailumatriisi: SQL vs. kilpailijat

Tekninen attribuuttiSQL (Nykyinen)CSVJSONSQLITE
Tietokantakaavion säilyttäminenTäydellinen kaavio (taulut, tyypit, vierasavaimet)Vain otsikkosarakkeiden nimetItsekuvaileva dokumenttirakenneTäydellinen binäärinen tietokantatiedosto
SuoritusmalliSuoritettava DDL/DML-komentosarjaPassiivista rivi-saraketietoaPassiivinen dokumenttipuuSuora kysely binääriseen B-puuhun
StandardointiISO/IEC 9075 -standardiRFC 4180RFC 8259SQLiten avoin tiedostomuoto
TietosuhteetKaikki vierasavainrajoitteetLitteä taulukkomuoto (ei suhteita)Sisäkkäiset vanhempi-lapsi-oliotTäydet relaatiorajoitukset

Yleiset vioittumistavat ja heksadesimaalinen palautusopas

Tietokannan tuonti epäonnistuu virheellä 'ERROR: syntax error at or near...'.

Perussyy: SQL-murteen yhteensopimattomuus (esim. MySQL:n takamerkeillä lainatun vedoksen tuonti PostgreSQL:ään) tai suojaamattomat heittomerkit.

Korjaus: Muunna ja puhdista murresyntaksi File2File.app Database Transpilerilla.

Tietoturva-analyysi ja tiedostojäsentimien hyökkäysvektorit

Luottamattomien SQL-komentosarjojen suorittaminen voi aiheuttaa vakavan SQL-injektion, mielivaltaisia tiedostokirjoituksia tai hallinnollisten oikeuksien korotuksia.

Tunnetut hyökkäysvektorit

  • SQL-injektio (SQLi), joka suorittaa tahattomia hallinnollisia komentoja (esim. DROP TABLE, GRANT ALL).
  • Mielivaltainen palvelintiedostojen lukeminen ja kirjoittaminen komennoilla 'COPY ... FROM PROGRAM' tai 'LOAD DATA INFILE'.
  • Palvelunestohyökkäys indeksoimattomilla rekursiivisilla yhteisillä taulukkolausekkeilla (CTE).

Tietoturvan parhaat käytännöt: Älä koskaan suorita luottamattomia SQL-komentosarjoja suoraan tuotantotietokantapalvelimilla; tarkasta ja puhdista kyselyt eristetyissä hiekkalaatikoissa.

Historia ja virstanpylväät

2023ISO/IEC 9075:2023 julkaistaan, ja se integroi ominaisuusgraafikyselyt (SQL/PGQ) SQL-standardiin.
1986ANSI ja ISO hyväksyvät SQL:n relaatiotietokannan hallintajärjestelmien viralliseksi standardiksi.
1974Donald Chamberlin ja Raymond Boyce kehittävät SEQUELin IBM Researchissa Edgar F. Coddin relaatiomallin pohjalta.

Tärkeimmät edut

  • SQL-skripteillä voi määrittää tauluja, lisätä rivejä ja tehdä kyselyitä relaatiotietokantoihin. Tietotyyppien, identiteettisarakkeiden ja päivämääräfunktioiden syntaksi vaihtelee SQLiten, MySQL:n, PostgreSQL:n ja SQL Serverin välillä.
  • Täysi relaatiotarkkuus: luo uudelleen taulut, ensisijaiset avaimet, vierasavaimet, rajoitukset ja indeksit datan ohella.
  • Transaktionaalinen suoritus: lauseita voidaan suorittaa transaktioiden sisällä (BEGIN...COMMIT) tietokannan atomisen palauttamisen takaamiseksi.

Tekniset rajoitukset

  • SQL-murteiden yhteensopimattomuus: pienet syntaksierot (esim. AUTO_INCREMENT vs. SERIAL vs. AUTOINCREMENT) edellyttävät muunnoksia tietokantamoottorien välillä.
  • Suuri tekstimuotoinen lisäkuorma: tavalliset SQL INSERT -lauseet vievät huomattavasti enemmän tilaa kuin tietokannan binääritallennus.
  • Tuonti on hidasta, kun tuodaan useiden gigatavujen tietokantavedoksia eikä indeksien uudelleenrakennusta ole poistettu käytöstä.

Mielenkiintoisia teknisiä faktoja

  • SQL tunnettiin alun perin nimellä 'SEQUEL' (Structured English Query Language), mutta se lyhennettiin SQL:ksi tavaramerkkiriidan vuoksi Hawker Siddeley -lentokonetehtaan kanssa.
  • Virallisen ISO-standardin mukaan se lausutaan yksittäisin kirjaimin 'S-Q-L', mutta miljoonat kehittäjät lausuvat sen puhekielessä muodossa 'sequel'.
  • SQLiten arvioidaan olevan käytössä yli biljoonassa tietokannassa puhelimissa, tietokoneissa ja muissa tuotteissa.

Usein kysytyt tekniset kysymykset

Mikä on .sql-tiedosto?

.sql-tiedosto on pelkkää tekstiä sisältävä komentosarja, jossa on SQL-komentoja taulujen luomiseen, suhteiden muodostamiseen ja tietuerivien lisäämiseen relaatiotietokantaan.

Voinko muuntaa SQL-vedostiedostot CSV- tai JSON-muotoon?

Kyllä. File2File.app voi jäsentää .sql-tietokannan vedostiedostoja ja viedä taulut suoraan selkeiksi CSV-taulukoiksi tai jäsennetyiksi JSON-dokumenteiksi.

Miksi MySQL .sql -tiedostoni ei toimi PostgreSQL:ssä?

Eri tietokantajärjestelmillä on omat murrekohtaiset eronsa, kuten tietotyypit ja lainausmerkkien käyttö. Tietokantamoottorista toiseen siirryttäessä murrekohtainen syntaksi on muunnettava.