CSV e MySQL: importare un file .csv in un db MySQL

Piccolo tutorial sull’uso del comando all’interno di MySQL.
Ho avuto la necessità di importare un file .csv, contenente una serie di destinazioni italiane, all’interno del mio db MySQL, dentro una tabella denominata tblcomuni.

La struttura della mia tabella

 

 

 

 

 

 

 

 

 

 

 

 

Posso fare tutto in maniera ultra rapida utilizzando il comando LOAD DATA INFILE.
Ho salvato il  mio file .csv in F:\, così da averlo a portata di mano nello script.
Dato il nome della tabella, TBLCOMUNI, e dato il nome del file, COMUNI.CSV, posso tranquillamente lanciare il seguente comando in MySQL:

LOAD DATA INFILE 'f:/comuni.csv' 
INTO TABLE tblcomuni
FIELDS TERMINATED BY ';' 
ENCLOSED BY ''
LINES TERMINATED BY '\n'
IGNORE 0 ROWS;

FIELDS TERMINATED BY ‘;’ mi indica il carattere divisorio tra un campo e l’altro
ENCLOSED BY ” mi aiuta se ho dei campi che sono tra doppi apici (ed in quel caso avrei dovuto scrivere ENCLOSED BY ‘”‘ )
LINES TERMINATED BY ‘\n’, chiaramente, indica che il record successivo è a capo
IGNORE 0 ROWS, ossia che non deve NON tenere conto di alcuna riga: in alcuni casi la prima riga è dedicata alle label dei campi ( Codice, Nome Comune, Provincia) e non abbiamo intenzione di aggiungerla in tabella.

Occhio che questo script funziona solamente per MySQL server locali, non remoti: in quel caso dobbiamo utilizzare il seguente comando:

LOAD DATA LOCAL INFILE 'f:/comuni.csv' 
INTO TABLE tblcomuni
FIELDS TERMINATED BY ';' 
ENCLOSED BY ''
LINES TERMINATED BY '\n'
IGNORE 0 ROWS;

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *