Convertitore da CSV a SQL
Un'esportazione da foglio di calcolo diventa uno script eseguibile dal database. La riga di intestazione dà il nome alle colonne, ogni riga diventa un INSERT e le virgolette seguono il dialetto scelto.
Convertitore di dati
oppure trascina qui File CSV, TSV, TXT … ·
Max 95 MB per file· Fino a 20 file· Eliminati dopo 30 minuti
I file vengono elaborati sui nostri server ed eliminati dopo 30 minuti.
Carattere che separa le colonne nei file CSV e di testo, sia in lettura sia in scrittura. Rilevamento automatico lo individua dal file di origine e scrive con la virgola.
UTF-8 funziona per tutte le lingue. Scegliere UTF-8 con BOM se Excel su Windows mostra accenti o caratteri asiatici illeggibili all'apertura del CSV.
Per file Excel, ODS e Numbers: converte solo il primo foglio oppure tutti i fogli (un CSV per foglio in un file ZIP, o una chiave JSON per foglio).
Nome della scheda del foglio nel nuovo foglio di calcolo, fino a 31 caratteri.
Array di oggetti usa i nomi delle colonne come chiavi per ogni riga; array di array è più compatto e mantiene l'intestazione come primo array.
Nome dell'elemento esterno che racchiude tutte le righe; ogni riga diventa un <row> al suo interno.
Usato nelle istruzioni CREATE TABLE e INSERT. Solo lettere, cifre e trattini bassi.
Virgolette e tipi di colonna differiscono leggermente tra i database; scegliere quello in cui si importeranno i dati.
Riscrive le celle con date in un unico formato. ISO (2026-10-18) è il più sicuro per database e codice; Mantieni originale le lascia come appaiono nell'origine.
Come usare questo strumento
- 1
Caricare il CSV
Aggiungi un CSV oppure fino a 20 file, da 95 MB ciascuno. I file con punto e virgola o tabulazione vengono riconosciuti automaticamente.
- 2
Impostare tabella e dialetto
In Impostazioni avanzate scrivi il Nome della tabella SQL e scegli il Dialetto SQL: MySQL, PostgreSQL, SQLite o SQL Server. Date è impostato su ISO, così i valori di tipo data vengono caricati senza ambiguità.
- 3
Convertire ed eseguire
Premi Converti in SQL, controlla la riga CREATE TABLE, quindi esegui lo script nel client del database o nella schermata di importazione.
Da CSV a SQL genera un'istruzione CREATE TABLE dalla riga di intestazione e un INSERT per ogni riga di dati, con la sintassi di MySQL, PostgreSQL, SQLite o SQL Server, così un foglio di calcolo entra in un database eseguendo un solo script.
Perché convertire un CSV in istruzioni SQL INSERT
Ogni database ha un caricatore CSV veloce, e ognuno ha un inconveniente. LOAD DATA LOCAL INFILE è disattivato di default sul server da MySQL 8.0, COPY FROM da file in PostgreSQL richiede i diritti di superutente o l'appartenenza a un ruolo speciale, e BULK INSERT di SQL Server legge percorsi sul computer del server, non sul tuo portatile. I database in hosting spesso offrono solo un editor di query.
Uno script di INSERT aggira tutto questo. È testo: puoi leggerlo, archiviarlo nel controllo di versione come dati iniziali ed eseguirlo in qualsiasi client. Il compromesso è la velocità: decine di migliaia di righe si caricano senza problemi, mentre per milioni di righe serve un caricatore di massa nativo. Chi tiene i dati di riferimento in una cartella di lavoro può saltare il passaggio CSV con da Excel a SQL.
Esempio da CSV a SQL per MySQL
CREATE TABLE `my_table` ( `id` INT, `nome` VARCHAR(255), `iscrizione` DATE ); INSERT INTO `my_table` (`id`, `nome`, `iscrizione`) VALUES (1, 'Anna Rossi', '2026-03-02'), (2, 'Gianni D''Amico', '2026-04-15');
Come cambia l'output nei quattro dialetti SQL
Gli identificatori sono racchiusi tra backtick, come in order date, e questo permette anche di usare parole riservate come order per i nomi delle colonne.
- Va bene anche per MariaDB
- Buona scelta predefinita per le importazioni con phpMyAdmin
Gli identificatori usano le doppie virgolette standard. I nomi tra virgolette mantengono maiuscole e minuscole, quindi "Email" ed email sono due colonne diverse.
- I nomi più lunghi di 63 byte vengono troncati
Ancora doppie virgolette, con tipizzazione flessibile: una colonna dichiarata INT accetta comunque testo, a meno che la tabella non sia dichiarata STRICT, opzione aggiunta in SQLite 3.37.0.
- Funziona nella shell sqlite3 o in DB Browser for SQLite
Gli identificatori vanno tra parentesi quadre, come in [order date]. Le colonne di testo con caratteri non latini richiedono NVARCHAR e valori N'…'.
- Funziona in SSMS o Azure Data Studio
| Ente | Requisito | Fonte |
|---|---|---|
| MySQL 8.0 | max_allowed_packet è di 64 MB per impostazione predefinita; un'unica istruzione più grande viene rifiutata | — |
| SQL Server | Un elenco INSERT … VALUES accetta al massimo 1.000 espressioni di valori di riga | — |
| PostgreSQL | Gli identificatori più lunghi di 63 byte vengono troncati senza avviso | — |
| SQLite | Una tabella ha al massimo 2.000 colonne in una build predefinita | — |
Cosa verificare prima di eseguire lo script
Leggi prima la riga CREATE TABLE. I tipi di colonna vengono dedotti dai valori e la deduzione può essere sbagliata: CAP e numeri di telefono sembrano numerici ma devono restare testo, altrimenti 02134 perde lo zero iniziale. Modifica il tipo nello script prima di eseguirlo, oppure crea la tabella da solo ed esegui soltanto la parte INSERT.
Scrivi il nome reale in Nome della tabella SQL al posto di my_table ed esegui lo script all'interno di una transazione, se il client lo consente, così una riga errata annulla tutto. Altri formati di destinazione per lo stesso CSV sono nella pagina del convertitore dati.
Formati CSV e script SQL
CSV
Valori separati da virgola
CSV è un formato di testo semplice per le tabelle in cui ogni riga è un record e le virgole separano le colonne. È in uso fin dai primi tempi dell'informatica ed è descritto nella RFC 4180, anche se molte varianti usano punti e virgola o tabulazioni e codifiche di testo diverse. Quasi tutti i fogli di calcolo, i database e gli strumenti di analisi possono importarlo ed esportarlo, e per questo è il formato predefinito per spostare dati tra sistemi. Il CSV memorizza solo valori, senza formule, formattazione, più fogli o tipi di dati.
- Compressione
- –
- Trasparenza
- –
- Animazione
- –
- Introdotto
- –
SQL
Script SQL
Un file SQL è uno script in testo semplice di istruzioni Structured Query Language, come CREATE TABLE e INSERT, che un database esegue in ordine. È usato comunemente per backup di database, migrazioni e condivisione di dati di esempio. Il linguaggio è uno standard ISO, ma MySQL, PostgreSQL, SQLite e SQL Server hanno ciascuno i propri dialetti, perciò gli script richiedono spesso piccole modifiche tra un sistema e l'altro. Qualsiasi editor di testo apre un file SQL, mentre per eseguirlo serve un client di database.
- Compressione
- –
- Trasparenza
- –
- Animazione
- –
- Introdotto
- –
Il CSV diventa SQL quando un file deve finire come tabella in un database raggiungibile solo tramite una finestra di query: popolare una nuova app, caricare un elenco di riferimento o spostare un foglio di calcolo in MySQL o PostgreSQL senza accesso al server.
Domande sul convertitore da CSV a SQL
Perché usare un file SQL invece di LOAD DATA o COPY?
I caricatori di massa come LOAD DATA INFILE di MySQL e COPY di PostgreSQL sono più veloci, ma richiedono l'accesso ai file sul server o opzioni aggiuntive del client. Uno script semplice funziona ovunque sia possibile incollare SQL: una console di database cloud, phpMyAdmin o una migrazione già rivista.
Come vengono scritti gli apostrofi in nomi come O'Brien?
In una stringa SQL l'apice singolo si esegue l'escape raddoppiandolo, quindi il valore viene scritto come 'O''Brien'. Tutti e quattro i dialetti accettano questa forma, ed è per questo che un nome con apostrofo non rompe l'INSERT.
Cosa diventano le intestazioni del CSV nella tabella?
Nomi di colonna, racchiusi tra virgolette nel modo previsto dal dialetto scelto. Intestazioni come Unit Price funzionano, ma un nome con spazio tra virgolette deve essere racchiuso tra virgolette anche in tutte le query successive: se possibile, rinomina queste intestazioni in unit_price prima di convertire.
Si può importare il file SQL con phpMyAdmin?
Sì, nella scheda Importa. Il limite è upload_max_filesize di PHP, che in un php.ini predefinito è di 2 MB; molti hosting lo aumentano e la pagina mostra il limite attuale. Se lo script supera quel valore, dividi un CSV grande in più file.
Si può tornare da una tabella a un CSV?
Esporta la tabella come dump e convertila con da SQL a CSV, oppure usa l'esportazione CSV del tuo client di database. In entrambi i casi ottieni righe che un foglio di calcolo può riaprire.
- Convertitore da Excel a SQLTrasforma un foglio Excel in uno script SQL per MySQL, PostgreSQL, SQLite o SQL Server: intestazioni come colonne, righe come INSERT.
- Convertitore da SQL a CSVConverte le istruzioni INSERT di un dump .sql in righe CSV da aprire in Excel o Google Sheets. Dump MySQL, phpMyAdmin, SQLite e SQL Server.
- Convertitore da CSV a XLSXConvertire CSV in XLSX di Excel mantenendo zeri iniziali, ID lunghi e accenti. Separatore virgola, punto e virgola o tab rilevato in automatico.
- Convertire CSV in XMLRighe CSV convertite in XML ben formato con il tag radice scelto. Caratteri speciali con escape, delimitatore rilevato, UTF-8. Fino a 20 file.
- Convertitore da CSV a ParquetConverti CSV in Apache Parquet con colonne tipizzate e compressione, pronto per pandas, DuckDB, Spark, BigQuery o Athena. Senza Python né Spark.
- Convertire Parquet in CSVConvertire file Apache Parquet in CSV online per aprirli in Excel, Google Sheets o altri programmi. Senza Python, Spark né DuckDB. Fino a 20 file.