Dump SQL (.sql)

ISO/IEC Standard

Structured Query Language Script (SQL) è il formato di database relazionale universale contenente istruzioni DDL dichiarative per costruire tabelle di database e istruzioni DML INSERT per popolare i dati.

Converti da SQLITE a SQL

Convertitore gratuito da SQLITE a SQL nel browser. Converti i file istantaneamente sul tuo dispositivo.

Ispeziona e metadati

I sistemi operativi e gli analizzatori di file identificano i file SQL ispezionando la sequenza di byte binari iniziale:

Seleziona o rilascia i file qui

Conversione 100% privata nel browser: i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

Firma dell'intestazione a livello di byte (Magic Bytes)

I sistemi operativi e gli analizzatori di file identificano i file SQL ispezionando la sequenza di byte binari iniziale:

FIRMA ESADECIMALE (OFFSET 0):

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

RAPPRESENTAZIONE ASCII: -- / CREATE

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

Specifiche tecniche

Architettura del containerScript di testo semplice Unicode contenente istruzioni DDL (Data Definition Language) e DML (Data Manipulation Language)
CompressioneTesto normale non compresso (frequentemente compresso come .sql.gz o .sql.zst)
Endianness dei byteFlusso di testo UTF-8 / Unicode
Spazi coloreN/D (Script database)
Canali e strutturaDefinizioni di schema relazionale (tabelle, viste, indici, chiavi esterne) e righe INSERT di dati
Dimensioni massimeLunghezza del testo illimitata (supporta dump di database da più terabyte)
TrasparenzaNessuna
Streaming e progressivoEsecuzione in streaming transazionale istruzione per istruzione

Matrice di confronto tecnico: SQL vs Concorrenti

Attributo tecnicoSQL (Corrente)CSVJSONSQLITE
Conservazione dello schemaSchema completo (tabelle, tipi, chiavi esterne)Solo nomi delle colonne di intestazioneStruttura del documento autoesplicativaFile di database binario completo
Modello di esecuzioneScript DDL/DML eseguibileDati passivi riga-colonnaAlbero di documenti passivoQuery B-tree binaria diretta
StandardizzazioneStandard ISO/IEC 9075RFC 4180RFC 8259Formato di file aperto SQLite
Relazioni tra i datiVincoli di chiave esterna completiTabulare piatto (nessuna relazione)Oggetti genitore-figlio nidificatiVincoli relazionali completi

Modalità di corruzione comuni e guida al recupero Hex

L'importazione del database fallisce con 'ERROR: syntax error at or near...'.

Causa principale: Mancata corrispondenza del dialetto SQL (ad es. importazione di un dump MySQL con accenti gravi in PostgreSQL) o virgolette singole non sottoposte a escape.

Ripristino: Converti e sanifica la sintassi del dialetto utilizzando il Transpiler di database di File2File.

Analisi di sicurezza e vettori di attacco del parser

L'esecuzione di script SQL non attendibili può causare SQL injection catastrofiche, scritture di file arbitrarie o escalation dei privilegi amministrativi.

Vettori di attacco noti

  • SQL Injection (SQLi) che esegue comandi amministrativi non intenzionali (ad es. DROP TABLE, GRANT ALL).
  • Lettura/scrittura di file di server arbitrari tramite 'COPY ... FROM PROGRAM' o 'LOAD DATA INFILE'.
  • Denial of service tramite espressioni di tabella comuni ricorsive non indicizzate (CTE).

Migliori pratiche difensive: Non eseguire mai script SQL non attendibili direttamente sui server di database di produzione; ispeziona e sanifica le query in sandbox isolate.

Origini storiche e tappe fondamentali

2023Rilasciato ISO/IEC 9075:2023, che integra le query sui grafi delle proprietà (SQL/PGQ) nello standard SQL.
1986ANSI e ISO adottano SQL come standard ufficiale per i sistemi di gestione di database relazionali.
1974Donald Chamberlin e Raymond Boyce sviluppano SEQUEL presso IBM Research basandosi sul modello relazionale di Edgar F. Codd.

Vantaggi principali e pro

  • Lo standard globale indiscusso per l'archiviazione di dati aziendali: compatibile con PostgreSQL, MySQL, SQLite, Oracle e SQL Server.
  • Completa fedeltà relazionale: ricrea tabelle, chiavi primarie, chiavi esterne, vincoli e indici insieme ai dati.
  • Esecuzione transazionale: le istruzioni possono essere eseguite all'interno di transazioni (BEGIN...COMMIT) per garantire il ripristino atomico del database.

Limiti tecnici e svantaggi

  • Incompatibilità tra dialetti: sottili differenze di sintassi (ad es. AUTO_INCREMENT vs SERIAL vs AUTOINCREMENT) richiedono la traduzione tra motori di database.
  • Enorme overhead di testo: le normali istruzioni SQL INSERT richiedono molto più spazio rispetto all'archiviazione di database binari.
  • Tempi di importazione lenti su enormi dump di database da più gigabyte senza disabilitare la ricostruzione degli indici.

Curiosità tecniche interessanti

  • SQL è stato originariamente chiamato 'SEQUEL' (Structured English Query Language), ma è stato abbreviato in SQL a causa di una controversia sui marchi con la compagnia aerea Hawker Siddeley.
  • Lo standard ISO formale lo pronuncia come singole lettere 'S-Q-L', ma milioni di sviluppatori lo pronunciano colloquialmente come 'sequel'.
  • Si stima che SQLite, che viene eseguito su sintassi SQL, sia installato su oltre 1 trilione di dispositivi in tutto il mondo.

Domande tecniche frequenti

Cos'è un file .sql?

Un file .sql è uno script in chiaro contenente comandi SQL che creano tabelle, stabiliscono relazioni e inseriscono righe di dati in un database relazionale.

Posso convertire i file di dump SQL in CSV o JSON?

Sì. File2File.app può analizzare i file di dump del database .sql ed esportare le tabelle direttamente in fogli di calcolo CSV puliti o documenti JSON strutturati.

Perché il mio file .sql di MySQL non funziona in PostgreSQL?

Dversi sistemi di database hanno differenze proprietarie nei dialetti (come i tipi di dati e l'escape delle virgolette). È necessario transcodificare la sintassi specifica del dialetto durante la migrazione tra motori di database.