SQL-dump (.sql)

ISO/IEC Standard

Et SQL-script er en tekstfil med databasesætninger som CREATE TABLE, INSERT og SELECT. SQL-dialekter varierer, så tjek, at måldatabasen understøtter scriptets syntaks, før du kører det.

Konverter SQLITE til SQL

Gratis SQLITE til SQL-konverter i browseren. Konverter filer med det samme på din enhed.

Undersøgelse og metadata

Operativsystemer og filanalysatorer identificerer SQL-filer ved at inspicere den indledende binære bytesekvens:

Vælg eller træk filer hertil

Privat - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 byte overført til eksterne servere. Al behandling foregik lokalt i browserens sandkasse.

Byte-niveau Header-signatur (Magic Bytes)

Operativsystemer og filanalysatorer identificerer SQL-filer ved at inspicere den indledende binære bytesekvens:

HEX-SIGNATUR (OFFSET 0):

Ingen fast signatur

ASCII-REPRÆSENTATION: Ingen fast signatur

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

Tekniske specifikationer

ContainerarkitekturUnicode-tekstscript med Data Definition Language-sætninger (DDL) og Data Manipulation Language-sætninger (DML)
KomprimeringUkomprimeret ren tekst (ofte komprimeret som .sql.gz eller .sql.zst)
Byte-rækkefølgeUTF-8-/Unicode-tekststrøm
FarverumIkke relevant (databasescript)
Kanaler og strukturRelationelle skemadefinitioner (tabeller, visninger, indekser, fremmednøgler) og data-INSERT-rækker
Maks. dimensionerUbegrænset tekstlængde (understøtter databasedumps på flere terabyte)
GennemsigtighedIngen
Streaming og progressivTransaktionel streamingafvikling sætning for sætning

Teknisk sammenligningsmatrix: SQL sammenlignet med konkurrenterne

Teknisk attributSQL (Aktuel)CSVJSONSQLITE
SkemabevarelseKomplet skema (tabeller, typer, fremmednøgler)Kun kolonnenavne i kolonneoverskriftSelvbeskrivende dokumentstrukturKomplet binær databasefil
UdførelsesmodelEksekverbart DDL/DML-scriptPassive række-kolonne-dataPassivt dokumenttræDirekte forespørgsel i et binært B-træ
StandardiseringISO/IEC 9075 StandardRFC 4180RFC 8259SQLite åbent filformat
DatarelationerFuldstændige fremmednøglerestriktionerFlad tabelstruktur (ingen relationer)Nestede forældre-barn-objekterFuldstændige relationelle begrænsninger

Almindelige korruptionstilstande og hex-gendannelsesvejledning

Databaseimport mislykkes med 'ERROR: syntax error at or near...'.

Grundlæggende årsag: Uoverensstemmelse mellem SQL-dialekter (f.eks. import af et MySQL-backtick-dump i PostgreSQL) eller ikke-escapede apostroffer.

Gendannelse: Konverter og rens dialektsyntaks ved hjælp af File2File.app Database Transpiler.

Sikkerhedsanalyse og parser-angrebsvektorer

Udførelse af ikke-betroede SQL-scripts kan forårsage katastrofal SQL-injektion, vilkårlig filskrivning eller eskalering af administrative rettigheder.

Kendte angrebsvektorer

  • SQL-injektion (SQLi), der udfører utilsigtede administrative kommandoer (f.eks. DROP TABLE, GRANT ALL).
  • Vilkårlig læsning/skrivning af serverfiler via 'COPY ... FROM PROGRAM' eller 'LOAD DATA INFILE'.
  • Tjenestenægtelse (Denial of Service) gennem uindekserede rekursive fælles tabeludtryk (CTE'er).

Defensive bedste praksisser: Udfør aldrig ikke-troværdige SQL-scripts direkte på produktionsdatabaseservere; inspicer og rens forespørgsler i isolerede sandkasser.

Historisk oprindelse og milepæle

2023ISO/IEC 9075:2023 udgivet, som integrerer egenskabsgraf-forespørgsler (SQL/PGQ) i standard SQL.
1986ANSI og ISO vedtager SQL som den officielle standard for relationelle databasestyringssystemer.
1974Donald Chamberlin og Raymond Boyce udvikler SEQUEL hos IBM Research baseret på Edgar F. Codds relationelle model.

Vigtige fordele og styrker

  • SQL-scripts kan definere tabeller, tilføje rækker og forespørge i relationelle databaser. Syntaksen for f.eks. datatyper, identitetskolonner og datofunktioner varierer mellem SQLite, MySQL, PostgreSQL og SQL Server.
  • Komplet relationel trofasthed: genskaber tabeller, primære nøgler, fremmednøgler, begrænsninger og indekser sammen med data.
  • Transaktionel udførelse: sætninger kan køres i transaktioner (BEGIN...COMMIT) for at garantere atomar databasegendannelse.

Tekniske begrænsninger og ulemper

  • Dialektinkompatibiliteter: subtile syntaksforskelle (f.eks. AUTO_INCREMENT vs SERIAL vs AUTOINCREMENT) kræver oversættelse mellem databasemotorer.
  • Meget tekst: SQL INSERT-sætninger som almindelig tekst fylder betydeligt mere end binær databaselagring.
  • Langsomme importtider på massive databasedump på flere gigabyte hvis indeksgenopbygning ikke er deaktiveret.

Interessante tekniske fakta

  • SQL hed oprindeligt 'SEQUEL' (Structured English Query Language), men blev forkortet til SQL på grund af en varemærketvist med flyproducenten Hawker Siddeley.
  • Den formelle ISO-standard udtaler det som de enkelte bogstaver 'S-Q-L', men millioner af udviklere udtaler det dagligdags som 'sequel'.
  • Det anslås, at SQLite bruges aktivt i over en billion databaser på tværs af telefoner, computere og andre produkter.

Ofte stillede tekniske spørgsmål

Hvad er en .sql-fil?

En .sql-fil er et simpelt tekstdokument, der indeholder SQL-kommandoer, som opretter tabeller, etablerer relationer og indsætter datarækker i en relationel database.

Kan jeg konvertere SQL-dumpfiler til CSV eller JSON?

Ja. File2File.app kan analysere .sql-databasedumpfiler og eksportere tabellerne direkte til rene CSV-regneark eller strukturerede JSON-dokumenter.

Hvorfor virker min MySQL .sql-fil ikke i PostgreSQL?

Forskellige databasesystemer har proprietære forskelle i dialekt (såsom datatyper og citationstegn). Du skal konvertere den dialektspecifikke syntaks, når du migrerer mellem databasemotorer.