Mysql
 sql >> Database >  >> RDS >> Mysql

Come importare file CSV nella tabella MySQL

Molte volte, abbiamo bisogno di importare file CSV nella tabella MySQL o creare tabelle da CSV o automatizzare l'importazione CSV nel server MySQL. Ecco come importare file CSV nel database MySQL in Ubuntu. Useremo la query LOAD DATA INFILE per importare CSV in MySQL. Puoi anche utilizzare questi passaggi per CentOS e altri sistemi Linux.

Come importare file CSV nella tabella MySQL

Ecco i passaggi per importare il file CSV in MySQL. Dopo aver importato il file CSV con intestazione in MySQL, puoi utilizzare uno strumento di reporting per interrogare la tua tabella MySQL e assicurarti che tutto funzioni correttamente.

1. Crea tabella

Innanzitutto, devi creare una tabella di database con lo stesso numero di colonne di quelle nel tuo file CSV. Supponiamo che tu voglia importare un file CSV con 2 campi:data_ordine, vendita

Quindi creeremo un vendita (data_ordine, vendita) tabella usando mysql.

mysql> create table sales(order_date date, sale int);

Bonus Leggi:Come calcolare il tasso di conversione in MySQL

2. Importa file CSV nella tabella MySQL

Quindi, importa il nostro file CSV in MySQL, utilizzando il comando LOAD DATA INFILE.

Supponiamo di avere il seguente file sales.csv. Utilizza virgolette singole/doppie per i valori di data nel tuo file CSV, altrimenti riceverai un errore.

"2020-01-01",15
"2020-01-02",25
"2020-01-03",34
"2020-01-04",22
"2020-01-05",30
mysql> LOAD DATA INFILE 'c:/files/sales.csv'
       INTO TABLE sales 
       FIELDS TERMINATED BY ',' 
       ENCLOSED BY '"' 
       LINES TERMINATED BY '\n'
       IGNORE ROWS 1;

mysql> select * from sales;
 order_date | sale
------------+------
 2020-01-01 |   15
 2020-01-02 |   25
 2020-01-03 |   34
 2020-01-04 |   22
 2020-01-05 |   30

Bonus Leggi:Come riempire le date mancanti in MySQL

Nella query precedente, specifichiamo il delimitatore utilizzando FIELDS TERMINATED BY ',' e new-line delimitatore per ciascuna riga come LINES TERMINATED BY '\n'. ENCLOSED BY ‘”‘  indica che i valori racchiusi tra virgolette doppie devono essere trattati come caratteri o data ma non come numeri. Puoi anche utilizzare virgolette singole o qualche altro carattere invece di virgolette doppie qui, ma dovrebbe corrispondere a ciò che viene utilizzato nel tuo file CSV.

Poiché i nostri dati contengono intestazioni, utilizziamo IGNORE ROWS 1 per dire a MySQL di non importare la riga n. 1 nel nostro file. Se il tuo file CSV non include le intestazioni, puoi ometterlo dalla tua query.

Bonus Lettura:query SQL per confrontare le vendite di prodotti per mese

Puoi utilizzare le stesse query con file CSV o TXT, modificando l'estensione del file nella query. Puoi anche usarlo per importare file delimitati da tabulazioni in MySQL, cambiando il delimitatore in \t invece di virgola.

Dopo aver importato il file CSV, puoi utilizzare uno strumento di creazione di rapporti MySQL come Ubiq per tracciarli in grafici a linee/colonne come mostrato di seguito.

Si spera che i passaggi precedenti ti aiutino a importare facilmente il file CSV nella tabella MySQL. A proposito, se vuoi creare grafici e dashboard per monitorare la tua attività o il tuo sito web, puoi provare Ubiq. Offriamo una prova gratuita di 14 giorni.