Dump SQL (.sql)
ISO/IEC StandardStructured 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:
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 45RAPPRESENTAZIONE ASCII: -- / CREATE
Standardizzazione: ISO/IEC 9075:2023 / Standard SQL ANSI
Specifiche tecniche
| Architettura del container | 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 database) |
| Canali e struttura | Definizioni di schema relazionale (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 (Corrente) | 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 passivi riga-colonna | Albero di documenti passivo | Query B-tree binaria diretta |
| Standardizzazione | Standard ISO/IEC 9075 | RFC 4180 | RFC 8259 | Formato di file aperto SQLite |
| Relazioni tra i dati | Vincoli di chiave esterna completi | Tabulare piatto (nessuna relazione) | Oggetti genitore-figlio nidificati | Vincoli 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
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.
Coppie di conversione per SQL correlate
La conversione di un file di database SQLite in uno script di testo di dump SQL 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 testo 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 analisi dati e reportistica semplificate.
La conversione di un backup di database binario in uno script SQL in formato testo consente di trasferire tabelle e dati tra motori di database completamente differenti.
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.