Importation de données CSV dans une table MySQL en sautant des colonnes
Dans de nombreux scénarios de traitement de données, vous pouvez rencontrer des situations dans lesquelles vous devez importer des données depuis un fichier CSV dans une table MySQL, mais toutes les colonnes du fichier CSV ne correspondent pas aux colonnes de la table cible. Cet article vous guidera à travers la question de savoir comment ignorer des colonnes dans un fichier CSV lors de l'importation de données dans une table MySQL à l'aide de la commande LOAD DATA INFILE.
Énoncé du problème
Vous disposez d'un fichier CSV avec plus de colonnes que votre table MySQL et vous devez mapper certaines colonnes du fichier CSV à des colonnes spécifiques de la table MySQL tout en en ignorant d'autres. Le défi réside dans la configuration de la commande d'importation pour ignorer les colonnes indésirables.
Solution
Pour ignorer les colonnes lors de l'importation de données à l'aide de LOAD DATA INFILE, vous pouvez utiliser une combinaison de délimiteurs de champs et mappage de colonnes. La commande LOAD DATA INFILE prend en charge la définition de délimiteurs de champs, vous permettant de spécifier un caractère qui sépare les valeurs individuelles dans le fichier CSV. En définissant les délimiteurs de champs de manière appropriée, vous pouvez efficacement ignorer les colonnes dont vous n'avez pas besoin.
Voici une version modifiée de votre commande LOAD DATA INFILE qui ignorera les colonnes indésirables dans votre fichier CSV :
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' (col1, @dummy1, col2, @dummy2, col3, @dummy3, col4, @dummy4, col5, @dummy5, col6, @dummy6, col7, @dummy7, col8, @dummy8, col9, @dummy9, col10, @dummy10, col11)
Dans cette commande modifiée, nous avons introduit une nouvelle syntaxe : (col1, @dummy1, col2, @dummy2, ... col11). Cette syntaxe nous permet de spécifier le mappage entre les colonnes du fichier CSV et les colonnes de la table MySQL. En attribuant les colonnes indésirables aux variables utilisateur préfixées par @dummy (par exemple, @dummy1, @dummy2, etc.), nous demandons effectivement à MySQL de supprimer les valeurs de ces colonnes et de ne pas les charger dans la table.
En suivant cette approche, vous pouvez importer avec succès les données de votre fichier CSV dans votre table MySQL, en mappant uniquement les colonnes souhaitées et en ignorant celles qui ne sont pas obligatoires.
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!