Vai al contenuto

Da CSV a SQL

CSV to SQL

Genera da una tabella le istruzioni CREATE TABLE e INSERT, con i tipi dedotti e il dialetto che scegli.

Trasforma una tabella in istruzioni CREATE TABLE e INSERT per PostgreSQL, MySQL, SQLite o SQL Server, con i tipi delle colonne dedotti dai dati. Mostra le colonne come verranno create prima di scrivere qualunque cosa, ed è lì che si intercetta una colonna numerica arrivata come testo.

🔒 Funziona interamente nel tuo browsersqlcsvconvertdatabase

Trascina qui il CSV che vuoi come SQL

Letto in questa scheda. Non viene caricato niente. I file scritti da Excel in coreano, giapponese, cinese e occidentale (CP949, Shift_JIS, GBK, Windows-1252) vengono riconosciuti.

Come si usa

  1. Scegliere il dialetto

    Decide lo stile delle virgolette, la sintassi dell’auto-incremento e il tipo testuale. SQL Server riceve NVARCHAR invece di VARCHAR, che è la differenza fra memorizzare 한글 e memorizzare punti interrogativi.

  2. Controllare i tipi dedotti

    La tabella sopra l’SQL mostra ogni colonna, l’identificatore che riceverà, il suo tipo e se ammette valori nulli. Una colonna che ci si aspettava INTEGER e che compare come TEXT significa che dentro c’è un valore vagante.

  3. Impostare la dimensione del lotto

    Cento righe per INSERT è un buon valore di partenza. Una per riga è più facile da analizzare quando qualcosa non va, e molto più lenta da eseguire.

Domande frequenti

Perché ogni identificatore è fra virgolette?

Perché una colonna che si chiama order, group o desc è una parola riservata, e mettere le virgolette solo quando serve significa avere l’elenco esatto delle parole riservate per quattro dialetti. Metterle sempre è noioso e funziona sempre.

I nomi di colonna in coreano sono sicuri?

In tutti e quattro i dialetti, se messi fra virgolette, sì. Se il server li rifiuta comunque, l’opzione «solo ASCII» traslittera gli identificatori lasciando stare i dati.

Che cosa succede alle virgolette dentro i miei dati?

Vengono raddoppiate, che è la sequenza di escape dello standard SQL. Per MySQL vengono raddoppiate anche le barre rovesciate, perché MySQL è l’unico a trattare una barra rovesciata come escape dentro un letterale: senza quello, C:\temp arriva nel database con dentro una tabulazione.

Cella vuota o NULL?

È una scelta di chi usa lo strumento, e conta: in SQL una stringa vuota è un valore e NULL è l’assenza di un valore, e i due si comportano in modo diverso nei confronti, nel COUNT e in un indice univoco. NULL è l’impostazione predefinita.

Può ricevere da

Dopo

Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.