CSV to SQL
Importa dati CSV e genera CREATE TABLE + INSERT INTO con rilevamento tipi automatico.
Come utilizzare CSV to SQL
Incolla o carica il CSV
Incolla il testo CSV oppure trascina un file .csv/.txt. Il delimitatore viene rilevato automaticamente confrontando virgola, punto e virgola, tab e pipe.
Scegli tabella e dialetto SQL
Imposta il nome tabella e seleziona il dialetto di destinazione (PostgreSQL, MySQL o SQLite): cambia la sintassi degli identificatori e dei tipi generati.
Rivedi e correggi le colonne rilevate
Ogni colonna viene analizzata per dedurre il tipo SQL (INTEGER, DECIMAL, BOOLEAN, DATE, VARCHAR, TEXT). Puoi escludere colonne o correggere manualmente il tipo prima di generare l'SQL.
Genera CREATE TABLE e INSERT
Visualizza l'output completo (CREATE + INSERT), solo la CREATE o solo gli INSERT a batch configurabile, poi copia o scarica il file .sql.
Suggerimenti
- Usa "Carica esempio" per vedere un dataset con nomi, email, date e booleani già pronto da convertire.
- I nomi di colonna vengono sanitizzati automaticamente (minuscolo, underscore, niente caratteri speciali) per essere validi come identificatori SQL.
- Se una colonna DATE non viene riconosciuta, verifica che tutti i valori seguano lo stesso formato (aaaa-mm-gg, gg/mm/aaaa o gg-mm-aaaa).
Domande frequenti
Come viene rilevato il tipo SQL di ogni colonna?
Il tool analizza tutti i valori non vuoti della colonna in ordine di priorità: booleano (true/false/0/1/yes/no), intero, decimale, data (formati ISO, gg/mm/aaaa, gg-mm-aaaa), infine VARCHAR o TEXT in base alla lunghezza massima riscontrata (oltre 255 caratteri diventa TEXT).
Che differenza c'è tra i dialetti PostgreSQL, MySQL e SQLite?
Cambiano il quoting degli identificatori (virgolette doppie per PostgreSQL/SQLite, backtick per MySQL), il tipo di colonna auto-incrementale (SERIAL vs AUTO_INCREMENT vs AUTOINCREMENT) e alcuni tipi come BOOLEAN, che su SQLite viene reso come INTEGER.
Cosa fa il batch INSERT e come lo scelgo?
Il batch size determina quante righe vengono raggruppate in una singola istruzione INSERT (per PostgreSQL/SQLite) prima di iniziarne una nuova. Batch più grandi riducono il numero di statement ma aumentano la dimensione di ogni query: 100-500 righe è un buon compromesso per import massivi.
Posso escludere colonne dal CSV o rinominarle?
Sì. Nell'editor colonne puoi deselezionare una colonna per escluderla da CREATE TABLE e INSERT, oppure cambiare manualmente il tipo SQL rilevato se non corrisponde a quanto ti serve.
I dati CSV vengono caricati su un server?
No, tutta l'elaborazione (parsing CSV, inferenza tipi, generazione SQL) avviene lato client nel browser: nessun dato viene trasmesso a server esterni.