Che ne dici di questo?:
mysql -B -e "$MY_QUERY"> my_data.csv
Il formato di output è in realtà separato da tabulazioni anziché da virgole, ma almeno Excel e OpenOffice Calc si adattano automaticamente a questo.
A proposito, per comodità e per consentire l'esecuzione non interattiva dei comandi mysql, consiglio vivamente di impostare un file ~/.my.cnf sicuro
(leggibile solo da te) con voci come questa:
[client]
user=YOUR_MYSQL_USER_NAME
password=YOUR_MYSQL_PASSWORD
host=YOUR_MYSQL_SERVER
port=YOUR_MYSQL_SERVER_PORT
WHATEVER_OTHER_OPTIONS_YOU_LIKE
Riferimenti:
http://dev.mysql.com/doc /refman/5.1/en/mysql-command-options.html
--batch, -B
Stampa i risultati utilizzando tab come separatore di colonna, con ogni riga su una nuova riga. Con questa opzione, mysql non utilizza il file della cronologia.
La modalità batch comporta un formato di output non tabulare e l'escape dei caratteri speciali. L'escape può essere disabilitato utilizzando la modalità raw; vedere la descrizione dell'opzione --raw.