Salta al contenuto principale
Input CSV
Trascina un CSV qui oppure
Output SQL

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.