2010-10-15 7 views
4

Je veux faire ce qui suit mysql -uuser -ppass -h remote.host.tld database < script.sqlrequête MySQL pour imprimer la sortie au format CSV sortie standard

script.sql contient les

suivants
SELECT * 
FROM webrecord_wr25mfz_20101011_175524 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 

Je veux sortie CSV dirigé vers la sortie standard. La raison en est que l'exécution de cette requête avec un INTO OUTFILE 'blah.csv' va enregistrer le fichier sur l'hôte distant. Je veux le fichier enregistré sur l'hôte local.

Si je pouvais juste rediriger la sortie standard vers un fichier, ce serait dandy.

+0

double possible de [Changer le format de sortie pour les résultats de la ligne de commande MySQL au format CSV] (http://stackoverflow.com/questions/15640287/change- output-format-pour-mysql-command-line-results-to-csv) – bufh

+1

pas un dupe, c'est une question sur le routage à stdout. – MichaelD

Répondre

0

Essayez ceci: mysql -uuser -ppass -h remote.host.tld database < script.sql 2> blah.csv

Cela va rediriger stderr

+1

Cela ne semble pas résoudre le problème, c'est-à-dire que si vous ne spécifiez pas un OUTFILE vous ne pouvez pas utiliser les "FIELDS TERMINATED BY" suivants et ainsi vous obtenez réellement la sortie CSV! – Michael

Questions connexes