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 ?

Comment importer efficacement des fichiers texte délimités par des tabulations dans MySQL à l'aide de LOAD DATA INFILE ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-23 03:13:09352parcourir

How to Efficiently Import Tab-Delimited Text Files into MySQL Using LOAD DATA INFILE?

Importation de données à partir de fichiers texte dans MySQL avec 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

  • Assurez-vous que l'utilisateur exécutant la commande dispose des privilèges nécessaires pour importer données.
  • Le fichier texte doit être accessible au serveur de base de données.
  • Les importations de données volumineuses peuvent nécessiter l'ajustement des paramètres de mémoire pour performances optimales.

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!

Déclaration:
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