- 1 1. Introduzione all’importazione di file CSV in MySQL
- 2 2. Prerequisiti
- 3 3. Importazione di CSV usando il comando LOAD DATA INFILE
- 4 4. Soluzioni ai problemi comuni
- 5 5. Esempio pratico: procedura di importazione CSV
- 6 6. Avanzato: Gestione degli errori e prevenzione dei dati duplicati
- 7 7. Conclusione
1. Introduzione all’importazione di file CSV in MySQL
Importare file CSV in MySQL è un modo potente per semplificare la gestione dei dati ed eliminare la necessità di inserimenti manuali. Ad esempio, quando è necessario importare in blocco informazioni raccolte da più fonti di dati in un database, o elaborare automaticamente dati da sistemi esterni, l’importazione di CSV diventa estremamente utile.
Casi d’uso comuni per l’importazione di CSV
- Elaborazione di grandi volumi di dati : Invece di inserire manualmente migliaia di record, è possibile elaborarli rapidamente usando l’importazione CSV.
- Migrazione dei dati : Comodo quando si importano dati esportati da altri sistemi in MySQL.
- Aggiornamenti regolari dei dati : I sistemi che richiedono aggiornamenti periodici dei dati possono automatizzare il processo usando file CSV.
2. Prerequisiti
Prima di importare un file CSV in MySQL, sono necessarie diverse impostazioni e preparazioni. Queste garantiscono un processo di importazione dei dati fluido e privo di errori.
2.1 Ambiente richiesto
- Installazione del server MySQL Si presume che MySQL sia correttamente installato. Assicurati che MySQL sia in esecuzione correttamente nel tuo ambiente, sia esso Windows, macOS o Linux.
- Verifica dei permessi richiesti Per importare un file CSV, l’utente MySQL deve disporre dei privilegi appropriati. In particolare, è necessario il permesso di esecuzione per
LOAD DATA INFILE. Senza questo privilegio, l’importazione potrebbe essere negata.
2.2 Formato del file CSV
- Delimitatore I file CSV sono tipicamente separati da virgole, ma in alcuni casi possono essere usati tabulazioni o punti e virgola. Verifica in anticipo quale delimitatore viene utilizzato.
- Verifica della codifica Se un file CSV è salvato con una codifica dei caratteri diversa (come UTF-8 o Shift-JIS), potrebbero verificarsi corruzioni dei caratteri durante l’importazione. Verifica in anticipo la codifica del file e convertila se necessario.

3. Importazione di CSV usando il comando LOAD DATA INFILE
Il modo più comune per importare un file CSV in MySQL è utilizzare il comando LOAD DATA INFILE. Questo comando consente di caricare facilmente grandi quantità di dati in un database.
3.1 Sintassi di base
Di seguito è riportata la sintassi di base utilizzata per importare un file CSV in MySQL.
LOAD DATA INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
FIELDS TERMINATED BY: Specifica il delimitatore di campo. Solitamente si usa la virgola.LINES TERMINATED BY: Specifica il delimitatore di riga. Di solito si usa\n(newline).
3.2 Esecuzione di esempio
Il seguente esempio importa un file chiamato user_data.csv nella tabella users.
LOAD DATA INFILE '/path/to/user_data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
IGNORE 1 LINES: Salta la prima riga (riga di intestazione) del file CSV. Questa opzione è utile quando i nomi delle colonne sono inclusi nella prima riga.
3.3 Note importanti: Percorso del file e permessi
Quando si specifica il percorso del file, il file deve trovarsi in una directory accessibile dal server MySQL. Se il server non può accedere al file, utilizzare LOAD DATA LOCAL INFILE per caricare i dati dal lato client.
4. Soluzioni ai problemi comuni
Di seguito sono riportate soluzioni ai problemi comuni che si verificanoazione di file CSV.
4.1 Problemi di percorso del file
Se il percorso del file non è specificato correttamente, potresti vedere un messaggio di errore come The MySQL server is not permitted to read from the file. In questo caso, verifica che il percorso del file sul server sia corretto. Puoi anche utilizzare l’opzione LOAD DATA LOCAL INFILE per caricare un file locale.
LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
4.2 Problemi di codifica dei caratteri
Se il file è salvato con una codifica dei caratteri diversa, potrebbero verificarsi corruzioni dei caratteri durante l’importazione. Per evitare questo problema, verifica in anticipo la codifica del file e specifica il set di caratteri appropriato in MySQL.
SET NAMES 'utf8mb4';
5. Esempio pratico: procedura di importazione CSV
Qui spieghiamo la procedura passo‑passo per importare un file CSV reale in MySQL.
5.1 Preparazione del file CSV
Crea un file CSV (data.csv) con il seguente contenuto.
id,name,age
1,Taro Yamada,28
2,Hanako Sato,34
3,Ichiro Tanaka,45
5.2 Esecuzione del comando
Esegui il comando seguente per importare il file CSV creato nella tabella users.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
Questo comando importa i dati a partire dalla seconda riga del file CSV nella tabella users.
6. Avanzato: Gestione degli errori e prevenzione dei dati duplicati
Questa sezione spiega come gestire gli errori durante l’importazione del CSV e come trattare i dati duplicati.
6.1 Gestione dei dati duplicati
Se esistono già dati con la stessa chiave, puoi usare l’opzione REPLACE per sovrascrivere le righe duplicate con i nuovi dati.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
REPLACE;
6.2 Gestione degli errori
Se si verificano errori durante l’importazione ma desideri continuare l’elaborazione, usa l’opzione IGNORE. Questa salta le righe problematiche e importa i dati validi rimanenti.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
IGNORE;
7. Conclusione
L’importazione di file CSV in MySQL è uno strumento potente per gestire in modo efficiente grandi insiemi di dati e migrare dati tra sistemi. Comprendendo le procedure di base e implementando una corretta gestione degli errori e strategie di prevenzione dei duplicati, è possibile ottenere importazioni di dati stabili e affidabili.
Nei prossimi articoli spiegheremo anche in dettaglio come esportare dati da un database MySQL. Continua a migliorare le tue competenze nella gestione dei dati.


