Dernier tutorie...login
Dernier tutoriel manuel MySQL
auteur:php.cn  temps de mise à jour:2022-04-15 14:04:12

Données d'importation MySQL


Importer des données MySQL

Il existe deux façons simples d'importer des données exportées par MySQL dans MySQL.

1. Importation de la commande Mysql

Utilisez la commande mysql pour importer le format de syntaxe :

mysql -u username - p Mot de passe < Données de la base de données à importer (demo.sql)

Exemple :

# mysql -uroot -p123456 < demo.sql

La commande ci-dessus importera l'intégralité de la base de données sauvegardée demo.sql.

2. Importez la commande source

La commande source doit d'abord se connecter au terminal de base de données :

mysql> create database abc;      # 创建数据库
mysql> use abc;                  # 使用已创建的数据库 
mysql> set names utf8;           # 设置编码
mysql> source /home/abc/abc.sql  # 导入备份数据库

3. Utilisez LOAD DATA pour importer des données

MySQL fournit l'instruction LOAD DATA INFILE pour insérer des données. Dans l'exemple suivant, le fichier dump.txt sera lu depuis le répertoire courant et les données du fichier seront insérées 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 est spécifié, il indique que le fichier est lu depuis l'hôte client selon le chemin. S'il n'est pas spécifié, le fichier est lu par chemin sur le serveur.

Vous pouvez spécifier explicitement des séparateurs de valeurs de colonne et des marqueurs de fin de ligne dans l'instruction LOAD DATA, mais les marqueurs par défaut sont des positionneurs et des nouvelles lignes.

La syntaxe des clauses FIELDS et LINES des deux commandes est la même. Les deux clauses sont facultatives, mais si les deux sont spécifiées, la clause FIELDS doit apparaître avant la clause LINES.

Si l'utilisateur spécifie une clause FIELDS, ses clauses (TERMINATED BY, [OPTIONALLY] ENCLOSED BY et ESCAPED BY) sont également facultatives, cependant, l'utilisateur doit spécifier au moins l'une d'entre elles.

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
  -> FIELDS TERMINATED BY ':'
  -> LINES TERMINATED BY '\r\n';
LOAD DATA Par défaut, les données sont insérées dans l'ordre des colonnes dans le fichier de données. Si les colonnes du fichier de données sont incohérentes avec les colonnes du tableau inséré, vous devez spécifier l'ordre. des colonnes.

Par exemple, l'ordre des colonnes dans le fichier de données est a, b, c, mais l'ordre des colonnes dans le tableau inséré est b, c, a, alors la syntaxe d'importation des données est la suivante :

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

4. Utilisez mysqlimport pour importer des données

Le client mysqlimport fournit une interface de ligne de commande pour LOAD DATA Instruction INFILEQL. La plupart des options de mysqlimport correspondent directement à la clause LOAD DATA INFILE.

Pour importer des données du fichier dump.txt dans la table de données mytbl, vous pouvez utiliser la commande suivante :

La commande
$ mysqlimport -u root -p --local database_name dump.txt
password *****
mysqlimport peut spécifier des options pour définir le format spécifié. Le format de l'instruction de commande est le suivant :
Utilisez l'option --columns dans l'instruction
$ mysqlimport -u root -p --local --fields-terminated-by=":" \
   --lines-terminated-by="\r\n"  database_name dump.txt
password *****
mysqlimport pour définir l'ordre des colonnes :
$ mysqlimport -u root -p --local --columns=b,c,a \
    database_name dump.txt
password ****

Introduction aux options courantes de mysqlimport

OptionsFonction
-d ou --delete Supprimez toutes les informations de la table de données avant d'importer de nouvelles données dans la table de données
-f ou --forceQu'il s'agisse d'une erreur ou non est rencontré, mysqlimport forcera à continuer l'insertion des données
-i ou --ignoremysqlimport ignorera ou ignorera celles avec le même unique                                                                                             Ligne, les données du fichier d'importation seront ignorées.
-l ou -lock-tablesVerrouillez la table avant que les données ne soient insérées, empêchant ainsi, Lorsque vous mettez à jour la base de données, les requêtes des utilisateurs et les mises à jour sont affectées.
-r ou -replaceCette option a l'effet inverse de l'option -i que cette option remplacera ; Il existe des enregistrements avec la même clé unique dans la table.
--fields-enclosed-by= charSpécifie ce qu'il faut inclure dans les enregistrements de données dans le fichier texte. Dans de nombreux cas. ​ ​ ​ ​ ​ Les données sont placées entre guillemets doubles. Par défaut, les données ne sont pas entourées de caractères.
--fields-terminated- by=charSpécifie le séparateur entre les valeurs de chaque donnée, dans un fichier délimité par des points, Le délimiteur est un point. Vous pouvez utiliser cette option pour spécifier le délimiteur entre les données. Le délimiteur par défaut est le caractère de tabulation (Tab)
--lines-terminated- by=strCette option spécifie les données entre les lignes dans la chaîne délimitée du fichier texte               ou des caractères. Par défaut, mysqlimport utilise la nouvelle ligne comme séparateur de ligne.Vous pouvez éventuellement remplacer un seul caractère par une chaîne :                       Une nouvelle ligne ou un retour chariot.

Les options couramment utilisées de la commande mysqlimport incluent -v pour afficher la version (version), -p pour demander un mot de passe (mot de passe), etc.

Tutoriels vidéo recommandés :

Site Web PHP chinois