MySQLLOAD DATA INFILE

Syntaxe

utilisation de LOAD DATA INFILE pour charger une grande quantité de données dans la base de données

Considérez l’exemple suivant en supposant que vous avez un CSV délimité par ‘;’à charger dans votre base de données.

1;max;male;manager;12-7-19852;jack;male;executive;21-8-1990...1000000;marta;female;accountant;15-6-1992

Créer la table pour l’insertion.

Utilisez la requête suivante pour insérer les valeurs dans cette table.

Pensez au cas où le format de la date n’est pas standard.

1;max;male;manager;17-Jan-19852;jack;male;executive;01-Feb-1992...1000000;marta;female;accountant;25-Apr-1993

Dans ce cas, vous pouvez changer le format de la colonne dob avant d’insérer comme ceci.

Cet exemple de LOAD DATA INFILE ne précise pas toutes les fonctionnalités disponibles.

Vous pouvez voir plus de références sur LOAD DATA INFILE ici.

Importer un fichier CSV dans une table MySQL

La commande suivante importe des fichiers CSV dans une table MySQL avec les mêmes colonnes tout en respectant les règles de citation et d’échappement CSV.

Chargez des données avec des doublons

Si vous utilisez la commande LOAD DATA INFILE pour alimenter une table avec des données existantes, vous constaterez souvent que l’importation échoue en raison de doublons. Il existe plusieurs façons possibles de surmonter ce problème.

Si cette option a été activée dans votre serveur, elle peut être utilisée pour charger un fichier qui existe sur l’ordinateur client plutôt que sur le serveur. Un effet secondaire est que les lignes dupliquées pour les valeurs uniques sont ignorées.

LOAD DATA LOCAL INFILE 'path of the file/file_name.txt' INTO TABLE employee

Chargez des données INFILE ‘fname’ REPLACE

Lorsque le mot-clé replace est utilisé, les clés uniques ou primaires dupliquées entraîneront le remplacement de la ligne existante par de nouvelles lignes. ligne existante sera remplacée par de nouvelles

LOAD DATA INFILE 'path of the file/file_name.txt' REPLACE INTO TABLE employee

LOAD DATA INFILE ‘fname’ IGNORE

Le contraire de REPLACE, les lignes existantes seront préservées et les nouvelles seront ignorées. Ce comportement est similaire à LOCAL décrit ci-dessus. Cependant, il n’est pas nécessaire que le fichier existe sur l’ordinateur client.

LOAD DATA INFILE 'path of the file/file_name.txt' IGNORE INTO TABLE employee

Charge via une table intermédiaire

Parfois, ignorer ou remplacer tous les doublons n’est pas l’option idéale. Vous pouvez avoir besoin de prendre des décisions basées sur le contenu d’autres colonnes. Dans ce cas, la meilleure option est de charger dans une table intermédiaire et de transférer à partir de là.

INSERT INTO employee SELECT * FROM intermediary WHERE ...

importation / exportation

importation

SELECT a,b,c INTO OUTFILE 'result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table;

exportation

LOAD DATA INFILE 'result.txt' INTO TABLE table;

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *