Database Export
Introduction
La façon la plus simple d'exporter les données d'une table dans un fichier texte est d'utiliser l'instruction SELECT...INTO OUTFILE qui exporte le résultat d'une requête directement dans un fichier sur l'hôte du serveur.
Exporting Data with the SELECT ... INTO OUTFILE Statement
La syntaxe de cette instruction combine une commande SELECT ordinaire avec un nom de fichier INTO OUTFILE à la fin. Le format de sortie par défaut est le même que pour la commande LOAD DATA. Ainsi, l'instruction suivante exporte la table tutorials_tbl dans /tmp/tutorials.txt sous forme de fichier délimité par des tabulations et terminé par des retours à la ligne.
mysql> SELECT * FROM tutorials_tbl
-> INTO OUTFILE '/tmp/tutorials.txt';
Vous pouvez modifier le format de sortie en utilisant diverses options pour indiquer comment citer et délimiter les colonnes et les enregistrements. Pour exporter la table tutorial_tbl dans un format CSV avec des lignes terminées par CRLF, utilisez le code suivant.
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt'
-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-> LINES TERMINATED BY '\r\n';
La commande SELECT ... INTO OUTFILE possède les propriétés suivantes :
- Le fichier de sortie est créé directement par le serveur MySQL, le nom du fichier doit donc indiquer l'endroit où vous souhaitez que le fichier soit écrit sur l'hôte du serveur. Il n'existe pas de version LOCAL de l'instruction analogue à la version LOCAL de LOAD DATA.
- Vous devez disposer du privilège MySQL FILE pour exécuter l'instruction SELECT ... INTO.
- Le fichier de sortie ne doit pas déjà exister. Cela empêche MySQL de bloquer des fichiers qui pourraient être importants.
- Vous devez disposer d'un compte de connexion sur l'hôte du serveur ou d'un moyen de récupérer le fichier à partir de cet hôte. Sinon, la commande SELECT ... INTO OUTFILE ne vous sera probablement d'aucune utilité.
- Sous UNIX, le fichier est créé en lecture universelle et est la propriété du serveur MySQL. Cela signifie que, bien que vous puissiez lire le fichier, vous ne pourrez peut-être pas le supprimer.
Exporting Tables as Raw Data
Le programme mysqldump est utilisé pour copier ou sauvegarder des tables et des bases de données. Il peut écrire la sortie de la table soit comme un Raw Datafile, soit comme un ensemble d'instructions INSERT qui recréent les enregistrements de la table.
Pour vider une table sous forme de fichier de données, vous devez spécifier l'option --tab qui indique le répertoire dans lequel vous souhaitez que le serveur MySQL écrive le fichier.
Par exemple, pour vider la table tutorials_tbl de la base de données TUTORIALS dans un fichier du répertoire /tmp, utilisez une commande comme indiqué ci-dessous.
$ mysqldump -u root -p --no-create-info \
--tab=/tmp tutorials tutorials_tbl
password ******
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !