Maison > base de données > tutoriel mysql > LOAD DATA vs mysqlimport : quelle est la meilleure façon d'importer des fichiers CSV dans MySQL ?

LOAD DATA vs mysqlimport : quelle est la meilleure façon d'importer des fichiers CSV dans MySQL ?

Linda Hamilton
Libérer: 2024-12-16 09:20:11
original
802 Les gens l'ont consulté

LOAD DATA vs. mysqlimport: Which is the Best Way to Import CSV Files into MySQL?

Importation de fichiers CSV dans MySQL : se plonger dans LOAD DATA et mysqlimport

Le défi de l'importation d'un fichier CSV dans une table MySQL peut survenir lorsque traiter des données non normalisées et plusieurs colonnes. Pour résoudre ce problème, il est crucial de prendre en compte les nuances du processus d'importation.

L'approche LOAD DATA

LOAD DATA fournit une méthode simple pour importer des données à partir d'un fichier CSV. . Cependant, il est important de spécifier des paramètres supplémentaires pour garantir une gestion correcte des textes de présentation s'étendant sur plusieurs lignes. Voici un exemple qui résout les problèmes potentiels liés aux sauts de ligne :

LOAD DATA INFILE "/home/paul/clientdata.csv"
INTO TABLE CSVImport
COLUMNS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
Copier après la connexion

Cette déclaration révisée résout le problème potentiel en spécifiant les caractères de fin de ligne et en ignorant la première ligne pour les noms de colonnes.

L'utilitaire mysqlimport

Une autre option pour importer des fichiers CSV dans MySQL est mysqlimport, un outil de ligne de commande spécialement conçu pour ce but. Il offre un moyen puissant et efficace d'importer de grands ensembles de données :

mysqlimport --ignore-lines=1 \
            --fields-terminated-by=, \
            --local -u root \
            -p Database \
             TableName.csv
Copier après la connexion

Dans cette commande, "--ignore-lines=1" ignore la première ligne du fichier CSV (contenant les noms de colonnes), "- -fields-terminated-by=", spécifie le délimiteur de champ sous la forme d'une virgule, "--local" garantit que l'importation a lieu sur la machine locale et "-u root -p" demande un mot de passe root avant de se connecter à la base de données.

Considérations supplémentaires

Pour personnaliser le délimiteur de champ, utilisez l'option "--fields-terminated-by='t'" pour les fichiers délimités par des tabulations. . De plus, si le fichier CSV contient des caractères spéciaux qui doivent être échappés, utilisez l'option "--lines-terminated-by='r'" pour les fins de ligne Windows et "--lines-terminated-by='n'" pour les lignes Unix. fins.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal