1. Introduction à l’importation de fichiers CSV dans MySQL
Importer des fichiers CSV dans MySQL est un moyen puissant de rationaliser la gestion des données et d’éliminer le besoin de saisie manuelle. Par exemple, lorsque vous souhaitez charger en masse des informations provenant de multiples sources de données dans une base, ou traiter automatiquement des données d’un système externe, l’importation CSV devient extrêmement utile.
Cas d’utilisation courants pour l’importation CSV
- Gestion de grands ensembles 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 pour importer des données exportées depuis d’autres systèmes vers MySQL.
- Mises à jour régulières des données : Dans les systèmes nécessitant des mises à jour fréquentes, l’automatisation avec des fichiers CSV est très efficace.
2. Prérequis
Avant d’importer un fichier CSV dans MySQL, certaines configurations et préparations sont nécessaires pour garantir un processus fluide.
2.1 Environnement requis
- Installation du serveur MySQL : Vous devez avoir MySQL correctement installé.ifiez que MySQL fonctionne sur votre environnement — que ce soit Windows, macOS ou Linux.
- Vérifier les permissions nécessaires : Pour importer des fichiers CSV, l’utilisateur MySQL doit disposer des privilèges appropriés, notamment le privilège
LOAD DATA INFILE. Sans cela, les importations peuvent être refusées.
2.2 Format du fichier CSV
- Délimiteur : Les fichiers CSV sont généralement délimités par des virgules, mais parfois des tabulations ou des points-virg sont utilisés. Confirmez toujours le délimiteur avant d’importer.
- Vérification de l’encodage : Si le fichier CSV utilise un encodage de caractères différent (par ex., UTF-8, 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 dans le bon encodage si nécessaire.

3. Importation de CSV avec la commande LOAD DATA INFILE
La façon la plus courante d’importer des fichiers CSV dans MySQL est d’utiliser la commande LOAD DATA INFILE, qui facilite le chargement en masse de quantités de données dans une table.
3.1 Syntaxe de base
Voici la syntaxe de base 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 utilisé entre les champs. Une virgule est le plus courant.LINES TERMINATED BY: Définit le délimiteur de ligne, généralement\n(saut de ligne).
3.2 Exemple d’exécution
Dans l’exemple suivant, un fichier nommé user_data.csv est importé 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). Utile lorsque le CSV contient les noms de colonnes dans la première ligne.
3.3 Remarques sur le chemin du fichier et les permissions
Le fichier doit être situé à un endroit accessible par le serveur MySQL. Si le serveur ne peut pas lire le fichier, utilisez LOAD DATA LOCAL INFILE pour importer les données depuis le client.
4. Résolution des problèmes courants
Voici des solutions aux problèmes typiques rencontrés lors de l’importation de fichiers CSV dans MySQL.
4.1 Problèmes de chemin de fichier
Si le chemin du fichier est incorrect, vous pouvez voir l’erreur The MySQL server is not permitted to read from the file. Dans ce cas, vérifiez le chemin correct sur le serveur, ou utilisez l’option LOAD DATA LOCAL INFILE pour charger les fichiers depuis le client.
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, du texte illisible peut apparaître lors de l’importation. Pour éviter cela, confirmez l’encodage du fichier et définissez le jeu de caractères approprié dans MySQL :
SET NAMES 'utf8mb4';

5. Exemple pratique : importation d’un fichier CSV
Par le processus étape par étape d’importation d’un fichier CSV dans MySQL.
5.1 Préparation du fichier CSV
Créez un fichier CSV (data.csv) avec le contenu suivant :
id,name,age
1,Taro Yamada,28
2,Hanako Sato,34
3,Ichiro Tanaka,45
5.2 Exécution de la commande
Pour importer le fichier dans la table users, exécutez cette commande :
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
Cette commande importe toutes les lignes à partir de la deuxième ligne dans la table users.
6. Avancé : Gestion des erreurs et des données en double
Voici comment gérer erreurs et les données en double lors de l’importation de fichiers CSV dans MySQL.
6.1 Gestion des données en double
Si des enregistrements avec la même clé existent déjà, utilisez l’option REPLACE pour écraser les existantes avec les nouvelles données :
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
REPLACE;
6.2 Gestion des erreurs
Si vous souhaitez poursuivre le processus même en cas d’erreurs, utilisez l’option IGNORE. Cela sautera les lignes problématiques tout en continuant d’importer le reste des données :
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
IGNORE;

7. Conclusion
L’importation de fichiers CSV dans MySQL est un outil puissant pour gérer de grands ensembles de données et migrer des données entre systèmes de manière efficace. En maîtrisant les bases et en apprenant à gérer les erreurs et les doublons, vous pouvez garantir des importations de données fiables et stables.
Dans de futurs articles, nous aborderons également comment exporter des données depuis les bases de données MySQL afin d’améliorer davantage vos compétences en gestion de données.


