Attribution de colonnes au format CSV aux colonnes de la table MySQL lors de l'importation de données
Lors de l'importation de données d'un fichier CSV dans MySQL à l'aide de la commande LOAD DATA INFILE , il est essentiel d'aligner l'ordre des colonnes du fichier avec les colonnes correspondantes de la table MySQL pour un placement précis des données. Pour réaliser cet alignement automatiquement :
LOAD DATA INFILE Syntaxe avec mappage de colonnes :
La commande LOAD DATA INFILE prend en charge une clause FIELDS qui vous permet de spécifier l'ordre dans lequel Les colonnes du fichier CSV doivent être affectées aux colonnes de la table MySQL. La syntaxe est la suivante :
LOAD DATA LOCAL INFILE 'abc.csv' INTO TABLE abc FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (col1, col2, col3, col4, col5...);
Exemple :
Disons que vous avez un fichier CSV avec des colonnes dans l'ordre : nom, âge, adresse. Et vous souhaitez importer les données dans une table MySQL avec des colonnes : âge, nom, adresse. Vous pouvez utiliser la requête suivante :
LOAD DATA LOCAL INFILE 'abc.csv' INTO TABLE abc FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (age, name, address);
Cette requête attribuera automatiquement les colonnes du fichier CSV aux colonnes correctes de la table MySQL en fonction de l'ordre spécifié dans la clause FIELDS.
Remarque pour les utilisateurs de MySQL 8.0 :
Le mot-clé LOCAL dans la syntaxe ci-dessus a des implications en matière de sécurité. Dans MySQL 8.0, LOCAL est défini sur False par défaut. Si vous rencontrez une erreur liée à cela, vous pouvez soit désactiver la fonctionnalité LOCAL, soit reconnaître le risque de sécurité en suivant les instructions de la documentation MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!