1. Introduction à l’importation de fichiers CSV dans MySQL
L’importation de fichiers CSV dans MySQL est un moyen puissant de rationaliser la gestion des données et d’éliminer la saisie manuelle. Par exemple, lorsque vous devez importer en masse des informations provenant de plusieurs sources de données dans une base, ou traiter automatiquement des données provenant de systèmes externes, l’importation CSV devient extrêmement utile.
Cas d’utilisation courants pour l’importation CSV
- Traitement de gros volumes de données : Au lieu de saisir manuellement des milliers d’enregistrements, vous pouvez les traiter rapidement grâce à l’importation CSV.
- Migration de données : Pratique lorsqu’il s’agit d’importer des données exportées d’autres systèmes vers MySQL.
- Mises à jour régulières des données : Les systèmes qui nécessitent des mises à jour périodiques peuvent automatiser le processus en utilisant des fichiers CSV.
2. Prérequis
Avant d’importer un fichier CSV dans MySQL, plusieurs réglages et préparations sont nécessaires. Ils garantissent un processus d’importation fluide et sans erreur.
2.1 Environnement requis
- Installation du serveur MySQL On suppose que MySQL est correctement installé. Assurez‑vous que MySQL fonctionne correctement dans votre environnement, qu’il s’agisse de Windows, macOS ou Linux.
- Vérification des permissions requises Pour importer un fichier CSV, l’utilisateur MySQL doit disposer des privilèges appropriés. En particulier, le droit d’exécution de
LOAD DATA INFILEest indispensable. Sans ce privilège, l’importation peut être refusée.
2.2 Format du fichier CSV
- Délimiteur Les fichiers CSV sont généralement séparés par des virgules, mais dans certains cas, des tabulations ou des points‑virgules peuvent être utilisés. Vérifiez à l’avance quel délimiteur est employé.
- Vérifier l’encodage Si un fichier CSV est enregistré avec un encodage différent (par exemple UTF‑8 ou Shift‑JIS), une corruption des caractères peut survenir lors de l’importation. Vérifiez l’encodage du fichier au préalable et convertissez‑le si nécessaire.

3. Importation de CSV avec la commande LOAD DATA INFILE
La méthode la plus courante pour importer un fichier CSV dans MySQL consiste à utiliser la commande LOAD DATA INFILE. Cette commande vous permet de charger facilement de grandes quantités de données dans une base.
3.1 Syntaxe de base
Voici la syntaxe de base utilisée pour importer un fichier CSV dans MySQL.
LOAD DATA INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
FIELDS TERMINATED BY: Définit le délimiteur de champ. Une virgule est généralement utilisée.LINES TERMINATED BY: Définit le délimiteur de ligne. En général, on utilise\n(saut de ligne).
3.2 Exemple d’exécution
L’exemple suivant importe un fichier nommé user_data.csv dans la table 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: Ignore la première ligne (ligne d’en‑tête) du fichier CSV. Cette option est utile lorsque les noms de colonnes sont inclus dans la première ligne.
3.3 Remarques importantes : Chemin du fichier et permissions
Lors de la spécification du chemin du fichier, celui‑ci doit se trouver dans un répertoire accessible par le serveur MySQL. Si le serveur ne peut pas accéder au fichier, utilisez LOAD DATA LOCAL INFILE pour charger les données depuis le client.
4. Solutions aux problèmes courants
Voici des solutions aux problèmes fréquents rencontrés lors de l’importation de fichiers CSV.
4.1 Problèmes de chemin de fichier
Si le chemin du fichier n’est pas correctement indiqué, vous pouvez obtenir un message d’erreur tel que The MySQL server is not permitted to read from the file. Dans ce cas, vérifiez que le chemin côté serveur est correct. Vous pouvez également recourir à l’option LOAD DATA LOCAL INFILE pour charger un fichier local.
LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
4.2 Problèmes d’encodage des caractères
Si le fichier est enregistré avec un encodage différent, une corruption des caractères peut survenir lors de l’importation. Pour éviter ce problème, vérifiez l’encodage du fichier au préalable et spécifiez le jeu de caractères approprié dans MySQL.
SET NAMES 'utf8mb4';
5. Exemple pratique : procédure d’importation CSV
Here, we explain the step-by-step procedure for importing an actual CSV file into MySQL.
5.1 Preparing the CSV File
Create a CSV file (data.csv) with the following content.
id,name,age
1,Taro Yamada,28
2,Hanako Sato,34
3,Ichiro Tanaka,45
5.2 Executing the Command
Run the following command to import the created CSV file into the users table.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
This command imports data starting from the second row of the CSV file into the users table.
6. Advanced: Error Handling and Duplicate Data Prevention
This section explains how to handle errors during CSV import and how to deal with duplicate data.
6.1 Handling Duplicate Data
If data with the same key already exists, you can use the REPLACE option to overwrite duplicate rows with new data.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
REPLACE;
6.2 Error Handling
If errors occur during import but you want to continue processing, use the IGNORE option. This skips problematic rows and imports the remaining valid data.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
IGNORE;
7. Conclusion
Importing CSV files into MySQL is a powerful tool for efficiently handling large datasets and migrating data between systems. By understanding the basic procedures and implementing proper error handling and duplicate prevention strategies, you can achieve stable and reliable data imports.
In future articles, we will also explain how to export data from a MySQL database in detail. Continue improving your data management skills.


