Importation de données dans MySQL à partir d'un fichier CSV
L'importation de données à partir d'un fichier CSV dans MySQL est souvent rencontrée, en particulier lorsqu'il s'agit de grands ensembles de données. Cependant, que se passe-t-il lorsque les colonnes du fichier CSV ne sont pas dans le même ordre que les colonnes de la table MySQL cible ?
Automatisation de l'attribution des colonnes
Pour résoudre ce problème, le LOAD DATA INFILE fournit une solution. En spécifiant explicitement les noms de colonnes, nous pouvons contrôler quelle colonne CSV correspond à chaque colonne de la table cible. Considérez la syntaxe suivante :
LOAD DATA INFILE 'abc.csv' INTO TABLE abc
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(col1, col2, col3, col4, col5...);
Copier après la connexion
'abc.csv' : le chemin d'accès au fichier CSV- abc : le nom de la table cible
- FIELDS TERMINATED BY ',' : Spécifie que les champs du fichier CSV sont séparés par des virgules
- ENCLOSED BY '"' : Indique que les valeurs des champs sont placées entre guillemets doubles
- LINES TERMINATED BY 'rn' : Spécifie que les lignes du fichier CSV se terminent par un retour chariot et un saut de ligne
- IGNORE 1 LINES : ignore la première ligne du fichier CSV, qui peut contenir des en-têtes
- (col1, col2, col3, col4, col5...) : Une liste de noms de colonnes de table cible séparés par des virgules
-
Pour les utilisateurs de MySQL 8.0, le mot-clé LOCAL est défini sur False par défaut, ce qui introduit des risques de sécurité. Pour écraser cela, suivez les instructions de la documentation MySQL. Cependant, cela ne résout pas le problème de sécurité mais reconnaît que vous êtes prêt à prendre le risque.
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!