Cosa fa
Caricare un foglio di calcolo in un database di solito significa scrivere a mano la definizione della tabella e un lungo elenco di istruzioni INSERT, facendo l’escape di ogni apostrofo. Questo strumento lo fa per te: incolla un CSV e ottieni uno script SQL pronto da eseguire, con un’istruzione CREATE TABLE e istruzioni INSERT multiriga raggruppate in lotti.
Segue la RFC 4180: gestisce campi tra virgolette, virgole e a capo all’interno delle celle e virgolette raddoppiate. Le stringhe vengono gestite correttamente per il database scelto, comprese le barre rovesciate in MySQL e le stringhe Unicode N'…' di SQL Server.
Come si usa
- Incolla un CSV, carica un file
.csvo.tsv, oppure fai clic su Esempio. - Inserisci il Nome tabella. Usa un punto per lo schema, ad esempio
public.ordersodbo.orders. - Scegli il Dialetto: MySQL / MariaDB, PostgreSQL, SQLite o SQL Server.
- Scegli le Righe per INSERT e disattiva CREATE TABLE se la tabella esiste già.
- Copia l’SQL o scaricalo come file
.sqled eseguilo con il tuo client di database.
Il delimitatore viene rilevato automaticamente; puoi anche impostare virgola, punto e virgola, tab o pipe. Se la prima riga contiene dati invece dei nomi delle colonne, disattiva La prima riga è l’intestazione e le colonne si chiameranno column_1, column_2 e così via.
Esempio
Questo CSV:
id,name,price,in_stock
1,Ada's Tea,4.50,true
2,Coffee,,false
diventa questo script per PostgreSQL:
CREATE TABLE "products" (
"id" INTEGER,
"name" TEXT,
"price" NUMERIC(3, 2),
"in_stock" BOOLEAN
);
INSERT INTO "products" ("id", "name", "price", "in_stock") VALUES
(1, 'Ada''s Tea', 4.50, TRUE),
(2, 'Coffee', NULL, FALSE);
L’apostrofo di Ada's viene raddoppiato, il prezzo vuoto diventa NULL e numeri e booleani sono scritti senza virgolette.
Tipi e dialetti
- MySQL / MariaDB: identificatori tra backtick,
INT,DECIMAL,BOOLEAN,DATE,DATETIME,VARCHAR(255)oTEXT; le barre rovesciate nelle stringhe vengono gestite con escape. - PostgreSQL: identificatori tra virgolette doppie,
INTEGER,NUMERIC,BOOLEAN,DATE,TIMESTAMPeTEXT. - SQLite: identificatori tra virgolette doppie e le classi di memorizzazione di SQLite
INTEGER,REALeTEXT; i booleani si scrivono 1 e 0. - SQL Server: identificatori tra parentesi quadre,
INT,DECIMAL,BIT,DATE,DATETIME2eNVARCHAR, con letteraliN'…'e al massimo 1000 righe per INSERT. - Le celle vuote diventano
NULL. Disattiva Celle vuote come NULL per mantenere stringhe vuote nelle colonne di testo. - Controlla i tipi dedotti prima di eseguire lo script su dati di produzione: una colonna che nel campione contiene solo numeri piccoli potrebbe in futuro richiedere un tipo più ampio.
Domande frequenti
› Quali database sono supportati?
MySQL (e MariaDB), PostgreSQL, SQLite e Microsoft SQL Server. Il dialetto stabilisce come vengono quotati i nomi di tabelle e colonne, come vengono fatti gli escape delle stringhe, quali tipi di colonna si usano e come si scrivono i booleani.
› Come vengono scelti i tipi di colonna?
Ogni colonna viene analizzata: gli interi diventano INT o BIGINT, i decimali DECIMAL con precisione sufficiente, true/false BOOLEAN (BIT in SQL Server), le date ISO DATE o DATETIME e tutto il resto testo. I numeri con zeri iniziali, come i CAP, restano testo. Disattiva Rileva i tipi per avere tutte le colonne di testo.
› Perché SQL Server è limitato a 1000 righe per INSERT?
SQL Server rifiuta un elenco VALUES con più di 1000 righe, quindi per questo dialetto i lotti più grandi vengono limitati a 1000. Altri database accettano lotti maggiori, ma 100–1000 righe per istruzione sono un buon compromesso tra velocità e dimensione.
› Il mio CSV viene caricato online?
No. L’analisi e la generazione dell’SQL avvengono interamente nel browser, quindi i dati non lasciano mai il tuo dispositivo.