Dump SQL (.sql)
ISO/IEC StandardUno script SQL è un file di testo con istruzioni per il database, come CREATE TABLE, INSERT e SELECT. I dialetti SQL variano: prima di eseguire lo script, verifica che la sintassi sia supportata dal database di destinazione.
Converti da SQLITE a SQL
Convertitore gratuito da SQLITE a SQL nel browser. Converti i file istantaneamente sul tuo dispositivo.
Ispezione e metadati
I sistemi operativi e gli analizzatori di file identificano i file SQL ispezionando la sequenza di byte binari iniziale:
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):
Nessuna firma fissaRAPPRESENTAZIONE ASCII: Nessuna firma fissa
Standardizzazione: ISO/IEC 9075:2023 / Standard ANSI SQL
Specifiche tecniche
| Architettura del contenitore | Script di testo semplice Unicode contenente istruzioni DDL (Data Definition Language) e DML (Data Manipulation Language) |
| Compressione | Testo normale non compresso (frequentemente compresso come .sql.gz o .sql.zst) |
| Endianness dei byte | Flusso di testo UTF-8 / Unicode |
| Spazi colore | N/D (script di database) |
| Canali e struttura | Definizioni di schemi relazionali (tabelle, viste, indici, chiavi esterne) e righe INSERT di dati |
| Dimensioni massime | Lunghezza del testo illimitata (supporta dump di database da più terabyte) |
| Trasparenza | Nessuna |
| Streaming e progressivo | Esecuzione in streaming transazionale istruzione per istruzione |
Matrice di confronto tecnico: SQL vs Concorrenti
| Attributo tecnico | SQL (Attuale) | CSV | JSON | SQLITE |
|---|---|---|---|---|
| Conservazione dello schema | Schema completo (tabelle, tipi, chiavi esterne) | Solo nomi delle colonne di intestazione | Struttura del documento autoesplicativa | File di database binario completo |
| Modello di esecuzione | Script DDL/DML eseguibile | Dati tabulari passivi | Albero di documenti passivo | Query diretta sull’albero B binario |
| Standardizzazione | Standard ISO/IEC 9075 | RFC 4180 | RFC 8259 | Formato di file aperto SQLite |
| Relazioni tra i dati | Vincoli di chiave esterna completi | Struttura tabulare piatta (nessuna relazione) | Oggetti nidificati con relazioni genitore-figlio | Vincoli relazionali completi |
Modalità di corruzione comuni e guida al recupero esadecimale
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 caratteri di accento grave in PostgreSQL) o virgolette singole non sottoposte a escape.
Ripristino: Converti e sanifica la sintassi del dialetto utilizzando il Transpiler di database di File2File.app.
Analisi di sicurezza e vettori di attacco del parser
L'esecuzione di script SQL non attendibili può causare iniezioni SQL catastrofiche, scritture di file arbitrarie o escalation dei privilegi amministrativi.
Vettori di attacco noti
- Iniezione SQL (SQLi) che consente di eseguire 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'.
- Interruzione del servizio tramite espressioni di tabella comune (CTE) ricorsive e non indicizzate.
Migliori pratiche difensive: Non eseguire mai script SQL non attendibili direttamente sui server di database di produzione; ispeziona e sanifica le query in ambienti isolati.
Origini storiche e tappe fondamentali
Vantaggi principali
- Gli script SQL possono definire tabelle, aggiungere righe ed eseguire query sui database relazionali. La sintassi per tipi di dati, colonne identity e funzioni per le date varia tra SQLite, MySQL, PostgreSQL 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 ingombro dovuto al testo: le normali istruzioni SQL INSERT richiedono molto più spazio rispetto all'archiviazione di database binari.
- Tempi di importazione lunghi per enormi dump di database da più gigabyte se non si disabilita la ricostruzione degli indici.
Curiosità tecniche
- SQL è stato originariamente chiamato 'SEQUEL' (Structured English Query Language), ma è stato abbreviato in SQL a causa di una controversia sui marchi con l’azienda aeronautica Hawker Siddeley.
- La pronuncia prescritta dallo standard ISO è quella delle singole lettere 'S-Q-L', ma milioni di sviluppatori lo pronunciano colloquialmente come 'sequel'.
- Si stima che SQLite, che usa la 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 dump di database .sql ed esportarne le tabelle in fogli di calcolo CSV o documenti JSON strutturati.
Perché il mio file .sql di MySQL non funziona in PostgreSQL?
Diversi 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.
Coppie di conversione per SQL correlate
La conversione di un file di database SQLite in uno script di dump SQL in formato testo trasforma un database binario in comandi di testo leggibili per una facile migrazione del database e importazioni su server.
La conversione di uno script di dump SQL in un'esportazione di dati JSON trasforma tabelle di database relazionali rigide in oggetti flessibili e nidificati per le applicazioni Web moderne.
Trasforma gli script di backup di database relazionali in fogli di calcolo tabulari piatti per semplificare l’analisi dei dati e la reportistica.
Converti un backup .bak di SQL Server supportato in uno script SQL di testo da esaminare o usare in un flusso di migrazione.
La conversione di uno script SQL in chiaro e non compresso in un file di backup di database nativo e ottimizzato riduce lo spazio di archiviazione e accelera i tempi di ripristino del server.