Comment exporter des fichiers de données à partir de la base de données Linux MySQL ?commande d'exportation d'instruction csv

Linux Base de données MySQLComment exporter des fichiers de données ?commande d'exportation d'instruction csv

MySQLexporter des données de données

Dans MySQL, vous pouvez utiliserSÉLECTIONNER … DANS OUTFILEdéclaration pour exporter simplement les données vers un fichier texte.


Exporter des données à l'aide de l'instruction SELECT ... INTO OUTFILE

Dans l'exemple suivant, nous allons exporter la table de données vers le fichier /tmp/tutorials.txt :

mysql > SELECT * FROM chenweiliang_tbl 
     - > INTO OUTFILE '/tmp/tutorials.txt' ;

Vous pouvez définir le format de sortie de données spécifié via les options de commande. L'exemple suivant concerne l'exportation au format CSV :

mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
    
    

Dans l'exemple suivant, un fichier est généré avec des valeurs séparées par des virgules.Ce format peut être utilisé par de nombreux programmes.

SELECT a b a + b INTO OUTFILE '/tmp/result.text'FIELDS 
TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行
终止'\ 
n'FROM test_table ;

L'instruction SELECT ... INTO OUTFILE a les attributs suivants :

  • LOAD DATA INFILE est l'opération inverse de la syntaxe SELECT ... INTO OUTFILE, SELECT.Pour écrire des données d'une base de données dans un fichier, utilisez SELECT ... INTO OUTFILE, et pour relire le fichier dans la base de données, utilisez LOAD DATA INFILE.
  • SELECT ... INTO OUTFILE Un SELECT de la forme 'nom_fichier' peut écrire les lignes sélectionnées dans un fichier.Le fichier est créé sur l'hôte du serveur, vous devez donc disposer de l'autorisation FILE pour utiliser cette syntaxe.
  • La sortie ne peut pas être un fichier existant.Empêcher les données de fichiers d'être falsifiées.
  • Avez-vous besoin d'avoir un compte pour vous connecter au serveur pour récupérer des fichiers.Sinon, SELECT ... INTO OUTFILE n'aura aucun effet.
  • Sous UNIX, le fichier est créé pour être lisible et les autorisations appartiennent au serveur MySQL.Cela signifie que même si vous pouvez lire le fichier, vous ne pourrez peut-être pas le supprimer.

Exporter le tableau en tant que données brutes

Il produit principalement un script SQL contenant les commandes CREATE TABLE INSERT etc. nécessaires pour recréer la base de données à partir de zéro.

Pour exporter des données à l'aide de mysqldump, vous devez utiliser l'option –tab pour spécifier le répertoire spécifié par le fichier d'exportation, et la cible doit être accessible en écriture.

L'exemple suivant exporte la table de données chenweiliang_tbl dans le répertoire /tmp :

$ mysqldump - u root - p - no - create - info
             - tab = / tmp chenweiliang chenweiliang_tbl
密码******

Exporter des données au format SQL

Exportez les données au format SQL vers le fichier spécifié, comme suit :

$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 文本 
密码******

Le contenu du fichier créé par la commande ci-dessus est le suivant :

- MySQL 转储8.23 - - 主机localhost     数据库chenweiliang
 ----------------------------------- ---------------------- - 服务器版本        3.23 58   

 
 

- - 结构`chenweiliang_tbl` -
 


CREATE TABLE chenweiliang_tbl 
  chenweiliang_id INT 11 NOT NULL的auto_increment 
  chenweiliang_title VARCHAR 100 NOT NULL 默认'' 
  chenweiliang_author VARCHAR 40 NOT NULL 默认'' 
  submission_date日期默认NULL 
  PRIMARY KEY   chenweiliang_id ),
  UNIQUE KEY AUTHOR_INDEX chenweiliang_author TYPE = MyISAM ;  


- - 转储数据`chenweiliang_tbl` -
 


INSERT INTO chenweiliang_tbl 
       VALUES 1 'Learn PHP' 'John Poul' '2007-05-24' );
INSERT INTO chenweiliang_tbl 
       VALUES 2 '学习MySQL' 'Abdul S' '2007-05-24' );
INSERT INTO chenweiliang_tbl 
       VALUES 3 'JAVA Tutorial' 'Sanjay' '2007-05-06' );

Si vous avez besoin d'exporter les données de toute la base de données, vous pouvez utiliser la commande suivante :

$ mysqldump - u root - p chenweiliang > database_dump 文本
密码******

Si vous devez sauvegarder toutes les bases de données, vous pouvez utiliser la commande suivante :

$ mysqldump - u root - p - all - databases > database_dump 文本
密码******

L'option --all-databases a été ajoutée dans MySQL 3.23.12 et versions ultérieures.

Cette méthode peut être utilisée pour implémenter une stratégie de sauvegarde de base de données.


Copier les tables de données et les bases de données vers d'autres hôtes

Si vous devez copier des données sur un autre serveur MySQL, vous pouvez spécifier le nom et la table de la base de données dans la commande mysqldump.

Exécutez la commande suivante sur l'hôte source pour sauvegarder les données dans le fichier dump.txt :

$ mysqldump - u root - p database_name table_name > dump 文本 
密码*****

Si vous sauvegardez la base de données dans son intégralité, vous n'avez pas besoin d'utiliser un nom de table spécifique.

Si vous devez importer la base de données de sauvegarde sur le serveur MySQL, vous pouvez utiliser la commande suivante, à l'aide de la commande suivante, vous devez confirmer que la base de données a été créée :

$ mysql - u root - p database_name < dump 文本 
密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > 
$ mysqldump的- ü根- p DATABASE_NAME \
        | mysql - h other - host com database_name

La commande ci-dessus utilise un canal pour importer les données exportées vers l'hôte distant spécifié.

发表 评论

Votre adresse email ne sera pas publiée. 项 已 用 * 标注

Remonter en haut