Circum Blog

Circum Net – IT – Conseils pratiques

Sélection enregistrée dans un fichier

Bases de données, MySQL

La commande ‘SELECT’ accompagnée de l’option ‘INTO OUTFILE’ permet d’enregistrer les lignes de réponses obtenues pour la requête dans un fichier sur disque.

Syntaxe:

SELECT … INTO OUTFILE ‘nom_du_fichier’ [options_exportation];

Exemple d’utilisation :

mysql> SELECT * FROM users INTO OUTFILE ‘/temp/save1.csv’ FIELDS TERMINATED BY ‘|’ LINES TERMINATED BY “\r\n”;

Cette instruction a pour résultat la sélection de tous les attributs de la table ‘users’ et l’enregistrement des lignes de réponse dans le fichier ‘/temp/save1.csv’. Si le chemin d’accès du fichier de sauvegarde n’est pas absolu la sauvegarde s’effectue dans le répertoire de données de la DB (ex : /mysql/data/nom_de_la_db).

Contenu du fichier save1.csv :

1|Albert|Olivier|Olivier.Albert@sky.net|admin
2|Decy|Serge|Serge.Decy@sealife.be|admin
3|Callet|Anne||support
4|Licour|Luc|Luc.Licour@laposte.be|guest

Pour s’assurer de la consistance de l’enregistrement sur disque à partir d’un SELECT on peut également utiliser les commandes LOCK et UNLOCK TABLES :

mysql> LOCK TABLES users READ;
mysql> SELECT * FROM users INTO OUTFILE ‘/Temp/save1.csv’;
mysql> UNLOCK TABLES;