Database Import

2 min Niveau 10

Introduction

Il existe deux façons simples de charger des données dans la base de données MySQL à partir d'un fichier préalablement sauvegardé.

Importing Data with LOAD DATA

MySQL fournit une instruction LOAD DATA qui agit comme un chargeur de données en masse. Voici un exemple d'instruction qui lit un fichier dump.txt dans votre répertoire actuel et le charge dans la table mytbl de la base de données actuelle.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
  • Si le mot clé LOCAL n'est pas présent, MySQL recherche le fichier de données sur l'hôte du serveur à l'aide de la commande looking into absolute pathname, qui spécifie entièrement l'emplacement du fichier, en commençant par la racine du système de fichiers. MySQL lit le fichier à partir de l'emplacement donné.
  • Par défaut, LOAD DATA suppose que les fichiers de données contiennent des lignes terminées par des sauts de ligne (newlines) et que les valeurs de données d'une ligne sont séparées par des tabulations.
  • Pour spécifier explicitement un format de fichier, utilisez une clause FIELDS pour décrire les caractéristiques des champs d'une ligne et une clause LINES pour spécifier la séquence de fin de ligne. L'instruction LOAD DATA suivante spécifie que le fichier de données contient des valeurs séparées par des deux-points et des lignes terminées par des retours chariot et un caractère de nouvelle ligne.
mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
   -> FIELDS TERMINATED BY ':'
   -> LINES TERMINATED BY '\r\n';
  • La commande LOAD DATA suppose que les colonnes du fichier de données ont le même ordre que les colonnes de la table. Si ce n'est pas le cas, vous pouvez spécifier une liste pour indiquer dans quelles colonnes de la table les colonnes du fichier de données doivent être chargées. Supposons que votre table comporte des colonnes a, b et c, mais que les colonnes successives du fichier de données correspondent aux colonnes b, c et a.

Vous pouvez charger le fichier comme indiqué dans le bloc de code suivant.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
   -> INTO TABLE mytbl (b, c, a);
logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus