SQL-dump (.sql)

ISO/IEC Standaard

Een SQL-script is een tekstbestand met database-instructies zoals CREATE TABLE, INSERT en SELECT. SQL-dialecten verschillen van elkaar, dus controleer voordat u het script uitvoert of de doeldatabase de syntaxis ervan ondersteunt.

SQLITE naar SQL converteren

Gratis SQLITE-naar-SQL-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen SQL-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen SQL-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

Geen vaste bestandshandtekening (SQL is platte tekst)

ASCII-WEERGAVE: Geen vaste ASCII-bestandshandtekening

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

Technische specificaties

ContainerarchitectuurUnicode-script in platte tekst met Data Definition Language (DDL)- en Data Manipulation Language (DML)-instructies
CompressieNiet-gecomprimeerde platte tekst (wordt vaak gecomprimeerd als .sql.gz of .sql.zst)
Bytevolgorde (endianness)UTF-8 / Unicode-tekststroom
KleurruimtenN.v.t. (databasescript)
Kanalen en structuurRelationele schemadefinities (tabellen, weergaven, indexen, vreemde sleutels) en INSERT-rijen met gegevens
Maximale afmetingenOnbegrensde tekstlengte (ondersteunt databasedumps van meerdere terabytes)
TransparantieGeen
Streaming en progressiefTransactionele streamende uitvoering per statement

Technische vergelijkingsmatrix: SQL versus concurrenten

Technisch kenmerkSQL (Huidig)CSVJSONSQLITE
SchemabehoudVolledig schema (tabellen, typen, vreemde sleutels)Alleen kolomnamen in de headerZelfbeschrijvende documentstructuurVolledig binair databasebestand
UitvoeringsmodelUitvoerbaar DDL/DML-scriptPassieve rij-kolomgegevensPassieve documentboomstructuurDirecte binaire B-tree-query
StandaardisatieISO/IEC 9075-standaardRFC 4180RFC 8259Open bestandsformaat van SQLite
GegevensrelatiesVolledige beperkingen voor vreemde sleutelsPlatte tabelstructuur (geen relaties)Geneste ouder-kindobjectenVolledige relationele beperkingen

Veelvoorkomende beschadigingen en gids voor hex-herstel

Database-import mislukt met 'ERROR: syntax error at or near...'.

Oorzaak: Niet-overeenkomend SQL-dialect (bijv. het importeren van een MySQL-dump met backticks in PostgreSQL) of niet-geëscapte enkele aanhalingstekens.

Herstel: Converteer en schoon de dialectsyntaxis op met de Database Transpiler van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

Het uitvoeren van niet-vertrouwde SQL-scripts kan catastrofale SQL-injectie, willekeurige bestandswijzigingen of administratieve privilege-escalatie veroorzaken.

Bekende aanvalsvectoren

  • SQL-injectie (SQLi) waarmee onbedoelde administratieve commando's worden uitgevoerd (bijv. DROP TABLE, GRANT ALL).
  • Willekeurig lezen/schrijven van serverbestanden via 'COPY ... FROM PROGRAM' of 'LOAD DATA INFILE'.
  • Denial of service door niet-geïndexeerde recursieve common table expressions (CTE's).

Aanbevolen beveiligingspraktijken: Voer nooit niet-vertrouwde SQL-scripts rechtstreeks uit op productiedatabaseservers; inspecteer en schoon query's op in geïsoleerde sandboxes.

Historische oorsprong en mijlpalen

2023ISO/IEC 9075:2023 uitgebracht, waarmee property-graph-query's (SQL/PGQ) zijn geïntegreerd in standaard-SQL.
1986ANSI en ISO adopteren SQL als de officiële standaard voor relationele databasemanagementsystemen.
1974Donald Chamberlin en Raymond Boyce ontwikkelen SEQUEL bij IBM Research op basis van het relationele model van Edgar F. Codd.

Belangrijkste voordelen

  • SQL-scripts kunnen tabellen definiëren, rijen toevoegen en relationele databases bevragen. Syntaxis zoals datatypes, identiteitskolommen en datumfuncties verschilt tussen SQLite, MySQL, PostgreSQL en SQL Server.
  • Volledige relationele getrouwheid: hiermee worden naast gegevens ook tabellen, primaire sleutels, vreemde sleutels, beperkingen en indexen gereconstrueerd.
  • Transactionele uitvoering: statements kunnen binnen transacties worden uitgevoerd (BEGIN...COMMIT) om atomair herstel van de database te garanderen.

Technische beperkingen

  • Incompatibiliteit tussen dialecten: subtiele syntaxverschillen (bijv. AUTO_INCREMENT vs SERIAL vs AUTOINCREMENT) vereisen conversie tussen database-engines.
  • Enorme hoeveelheid tekstoverhead: platte SQL INSERT-statements nemen aanzienlijk meer ruimte in beslag dan binaire databaseopslag.
  • Trage importtijden bij enorme databasedumps van meerdere gigabytes als het herbouwen van indexen niet is uitgeschakeld.

Interessante technische weetjes

  • SQL heette oorspronkelijk 'SEQUEL' (Structured English Query Language), maar werd ingekort tot SQL vanwege een handelsmerkgeschil met vliegtuigbouwer Hawker Siddeley.
  • De formele ISO-standaard spreekt het uit als de losse letters 'S-Q-L', maar miljoenen ontwikkelaars spreken het in de omgang uit als 'sequel'.
  • Naar schatting zijn er wereldwijd meer dan een biljoen SQLite-databases actief in gebruik, op telefoons, computers en andere producten.

Veelgestelde technische vragen

Wat is een .sql-bestand?

Een .sql-bestand is een plattekstscript met SQL-commando's die tabellen aanmaken, relaties vastleggen en rijen met gegevens invoegen in een relationele database.

Kan ik SQL-dumpbestanden converteren naar CSV of JSON?

Ja. File2File.app kan .sql-databasedumpbestanden parseren en de tabellen direct exporteren naar schone CSV-spreadsheets of gestructureerde JSON-documenten.

Waarom werkt mijn MySQL .sql-bestand niet in PostgreSQL?

Verschillende databasesystemen hebben eigen dialectverschillen (zoals datatypes en het escapen van aanhalingstekens). U moet dialectspecifieke syntaxis transcoderen wanneer u migreert tussen database-engines.