Latest web development tutorials

exporter des données MySQL

MySQL vous pouvez utiliser SELECT ... INTO OUTFILE pour exporter les données vers un fichier texte simple.


Utilisez SELECT ... INTO OUTFILE aux données d'exportation

Les exemples qui suivent, nous allons exporter les données vers une table de données w3big_tbl fichier /tmp/tutorials.txt:

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

Vous pouvez définir le format de données de sortie spécifié par les options de commande, les exemples suivants sont exportés au format CSV:

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

Dans l'exemple suivant, un fichier est généré, les valeurs séparées par des virgules. Ce format est utilisé par plusieurs programmes.

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

SELECT ... INTO OUTFILE a les propriétés suivantes:

  • LOAD DATA INFILE SELECT ... INTO OUTFILE est l'opération inverse, la syntaxe SELECT. Pour écrire des données dans une base de données dans un fichier, utilisez SELECT ... INTO OUTFILE, pour lire le fichier dans la base de données, utilisez LOAD DATA INFILE.
  • SELECT ... INTO 'filename' OUTFILE forme de lignes SELECT peut être sélectionnée écrire un fichier. Le fichier est créé sur l'hôte du serveur, vous devez donc avoir le privilège FILE utiliser cette syntaxe.
  • La sortie est pas un fichier qui existe déjà. Fichier éviter que les données ne soient altérées.
  • Vous avez besoin d'un serveur de compte de connexion pour récupérer le fichier. Sinon SELECT ... INTO OUTFILE ne jouera aucun rôle.
  • Dans UNIX, une fois le fichier créé est des privilèges lisibles appartenant à serveur MySQL. Cela signifie que même si vous pouvez lire le fichier, mais ne peut être supprimé.

Exporter des données que la table d'origine

mysqldump mysql est utilisé pour transformer la base de données de l'utilitaire est stocké. Elle produit principalement un script SQL qui contient la commande pour recréer la base de données à partir de zéro nécessaire CREATE TABLE INSERT et ainsi de suite.

Utilisez mysqldump pour exporter des données nécessite l'option --tab pour spécifier le répertoire spécifié dans le fichier d'exportation, l'objet doit être écrit.

L'exemple suivant va exporter la table de données w3big_tbl dans le répertoire / tmp:

$ mysqldump -u root -p --no-create-info \
            --tab=/tmp w3big w3big_tbl
password ******

Exporter des données au format SQL

Exportation SQL données au format de fichier spécifié, comme suit:

$ mysqldump -u root -p w3big w3big_tbl > dump.txt
password ******

Les fichiers de contenu créés par la commande ci-dessus comme suit:

-- MySQL dump 8.23
--
-- Host: localhost    Database: w3big
---------------------------------------------------------
-- Server version       3.23.58

--
-- Table structure for table `w3big_tbl`
--

CREATE TABLE w3big_tbl (
  w3big_id int(11) NOT NULL auto_increment,
  w3big_title varchar(100) NOT NULL default '',
  w3big_author varchar(40) NOT NULL default '',
  submission_date date default NULL,
  PRIMARY KEY  (w3big_id),
  UNIQUE KEY AUTHOR_INDEX (w3big_author)
) TYPE=MyISAM;

--
-- Dumping data for table `w3big_tbl`
--

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

Si vous avez besoin d'exporter des données pour l'ensemble de la base de données, vous pouvez utiliser la commande suivante:

$ mysqldump -u root -p w3big > database_dump.txt
password ******

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

$ mysqldump -u root -p --all-databases > database_dump.txt
password ******

--all-databases option a été ajoutée en MySQL 3.23.12 ou ultérieure.

Cette méthode peut être utilisée pour mettre en oeuvre une stratégie de sauvegarde de base de données.


La fiche de données et une copie de la base de données vers un autre hôte

Si vous avez besoin de copier des données vers un autre serveur MySQL, vous pouvez spécifier le nom des tables dans la commande mysqldump base de données et de données.

Exécutez la commande suivante sur l'hôte source, sauvegarder des données sur fichier dump.txt:

$ mysqldump -u root -p database_name table_name > dump.txt
password *****

Si la sauvegarde complète de la base de données, vous ne devez pas utiliser un nom de table.

Si vous avez besoin de sauvegarder la base de données dans le serveur MySQL, vous pouvez utiliser la commande suivante, utilisez la commande suivante vous devez vous assurer que la base de données a été créé:

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

La commande ci-dessus est utilisé dans la canalisation pour exporter les données dans l'hôte distant spécifié.