SQL-vedos (.sql)

ISO/IEC Standardi

Structured Query Language Script (SQL) on universaali relaatiotietokantamuoto, joka sisältää deklaratiivisia DDL-lauseita tietokantataulujen rakentamiseen ja DML INSERT -lauseita tietojen täyttämiseen.

Muunna tiedostot muodosta SQLITE muotoon SQL

Ilmainen selaimen sisäinen SQLITE - SQL-muunnin. Muunna tiedostoja välittömästi laitteellasi.

Tarkastele ja metatiedot

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

Valitse tai pudota tiedostot tähän

100 % yksityinen selaimen sisäinen muunnos - tiedostot eivät poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa 0 tavua ladattu ulkoisille palvelimille. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Tavutason otsikon allekirjoitus (Magic Bytes)

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

HEX-ALLEKIRJOITUS (OFFSET 0):

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

ASCII-ESITYSTAPA: -- / CREATE

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

Tekniset tiedot

SäiliöarkkitehtuuriUnicode plain text script containing Data Definition Language (DDL) and Data Manipulation Language (DML) statements
PakkausUncompressed plaintext (frequently compressed as .sql.gz or .sql.zst)
Tavujärjestys (Endianness)UTF-8 / Unicode text stream
VäriavaruudetN/A (Database Script)
Kanavat ja rakenneRelational schema definitions (tables, views, indexes, foreign keys) and data INSERT rows
Suurimmat mitatUnbounded text length (supports multi-terabyte database dumps)
LäpinäkyvyysNone
Suoratoisto ja progressiivinen latausStatement-by-statement transactional streaming execution

Tekninen vertailumatriisi: SQL vs. kilpailijat

Tekninen attribuuttiSQL (Nykyinen)CSVJSONSQLITE
Kaavion säilytysTäydellinen kaavio (taulut, tyypit, vierasavaimet)Vain otsikkosarakkeiden nimetItsekuvaileva dokumenttirakenneTäydellinen binäärinen tietokantatiedosto
SuoritusmalliSuoritettava DDL/DML-komentosarjaPassiivista rivi-saraketietoaPassiivinen dokumenttipuuSuora binäärinen B-pohjainen kysely
StandardointiISO/IEC 9075 -standardiRFC 4180RFC 8259SQLite avoin tiedostomuoto
TietosuhteetTäydet vierasavainrajoituksetLitteä taulukkomuoto (ei suhteita)Sisäkkäiset vanhempi-lapsi-oliotTäydet relaatiorajoitukset

Yleiset korruptiotilat ja heksatietojehdotusopas

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

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

Korjaus: Muunna ja puhdista murresyntaksi File2File Database Transpilerilla.

Turvallisuusanalyysi ja jäsenninhyö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 palvelimen tiedoston luku/kirjoitus komennoilla 'COPY ... FROM PROGRAM' tai 'LOAD DATA INFILE'.
  • Palvelunesto indeksoimattomien rekursiivisten yhteisten tauluelausekkeiden (CTE) kautta.

Parhaat puolustuskäytännöt:

Historia ja virstanpylväät

2023ISO/IEC 9075:2023 julkaistu, joka integroi ominaisuusgraafikyselyt (SQL/PGQ) standardiin SQL:ään.
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. Coddiin relaatiomallin pohjalta.

Tärkeimmät edut

  • Kiistaton maailmanlaajuinen standardi yritystietojen tallennukseen: yhteensopiva PostgreSQL:n, MySQL:n, SQLite:n, Oraclen ja SQL Serverin kanssa.
  • Täysi relaatiotarkkuus: luo uudelleen taulut, ensisijaiset avaimet, vierasavaimet, rajoitukset ja indeksit datan ohella.
  • Tapahtumapohjainen suoritus: lauseita voidaan suorittaa tapahtumien sisällä (BEGIN...COMMIT) atomisen tietokannan palautuksen takaamiseksi.

Tekniset rajoitukset

  • Murteiden yhteensopimattomuudet: hienovaraiset syntaksierot (esim. AUTO_INCREMENT vs. SERIAL vs. AUTOINCREMENT) vaativat muunnosta tietokantamoottoreiden välillä.
  • Massiivinen tekstin yleiskuorma: tavalliset SQL INSERT -lauseet vievät huomattavasti enemmän tilaa kuin binäärinen tietokantatallennus.
  • Hitaat tuontiajat massiivisilla monien gigatavujen tietokantavedoksilla ilman poistettua indeksien uudelleenrakennusta.

Mielenkiintoisia teknisiä faktoja

  • SQL tunnettiin alun perin nimellä 'SEQUEL' (Structured English Query Language), mutta se lyhennettiin SQL:ksi tavaramerkkiriidan vuoksi Hawker Siddeley -lentokonetehtaan kanssa.
  • Virallinen ISO-standardi lausuu sen yksittäisinä kirjaimin 'S-Q-L', mutta miljoona kehittäjää lausuu sen puhekielessä muodossa 'sequel'.
  • SQLite, joka käyttää SQL-syntaksia, on arvioitu asennetun yli 1 biljoonaan laitteeseen maailmanlaajuisesti.

Usein kysytyt tekniset kysymykset

Mikä on .sql-tiedosto?

.sql-tiedosto on pelkkää tekstiä sisältävä skripti, joka sisältää SQL-komentoja taulujen luomiseen, suhteiden muodostamiseen ja datarivien 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 omia murrekohtaisia eroja (kuten tietotyypit ja lainausmerkkien koodaukset). Murrekohtainen syntaksi on muunnettava siirryttäessä tietokantamoottorista toiseen.