Maison >base de données >tutoriel mysql >Comment importer efficacement des fichiers texte délimités par des tabulations dans MySQL à l'aide de LOAD DATA INFILE ?
L'importation de grands ensembles de données dans MySQL à partir de fichiers texte peut être une tâche courante lorsqu'il s'agit de scénarios d'analyse ou d'intégration de données . L'un des moyens les plus efficaces d'y parvenir consiste à utiliser la commande LOAD DATA INFILE.
Structure de la commande
La commande LOAD DATA INFILE suit une syntaxe spécifique :
LOAD DATA INFILE 'file_path' INTO TABLE table_name FIELDS TERMINATED BY 'delimiter' LINES TERMINATED BY 'line_delimiter' (column_list)
Importation délimitée par des tabulations Données
Comme mentionné dans votre question, votre fichier texte contient des données délimitées par des tabulations. Par défaut, LOAD DATA INFILE prend la tabulation comme délimiteur de champ. Par conséquent, la commande suivante devrait importer vos données :
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport;
Spécification des délimiteurs
Si votre fichier utilise un délimiteur différent, vous pouvez le spécifier en utilisant les CHAMPS TERMINÉS PAR clause. Par exemple, si vos données sont séparées par des virgules :
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport FIELDS TERMINATED BY ','
Définition du délimiteur de ligne
La clause LINES TERMINATED BY spécifie le caractère de fin de ligne. Par défaut, c'est 'n' pour une nouvelle ligne. Si votre fichier utilise un caractère différent, ajustez en conséquence.
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; # If your file uses CRLF as line delimiter
Mappage des colonnes
La partie (column_list) vous permet de spécifier le mappage entre les colonnes du fichier texte et les colonnes de la table de base de données. Si l'ordre et le nombre de colonnes correspondent, vous pouvez omettre cette partie.
Exemple avec le mappage de colonnes
Supposons que votre fichier texte comporte des colonnes supplémentaires non présentes dans la table PerformanceReport. . Vous pouvez spécifier uniquement les colonnes pertinentes dans votre commande :
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport (id, date, value, keyword, cost, clicks) FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
Autres considérations
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!