2011-01-26 4 views
0

Dans PowerShell, comment exécuter mon script mysql pour que les résultats soient redirigés vers un fichier csv? Les résultats de ce script sont juste un petit ensemble de colonnes que je voudrais copier dans un fichier csv.En utilisant MySQL dans Powershell, comment transférer les résultats de mon script dans un fichier csv?

je peux avoir aller directement à la coquille en faisant:

mysql> source myscript.sql 

Et j'ai essayé diverses petites choses comme:

mysql> source myscript.sql > mysql.out 
mysql> source myscript.sql > mysql.csv 

dans la variation infinie, et je reçois juste des erreurs. Mes connexions db sont correctes car je peux faire des requêtes de table de base à partir de la ligne de commande etc ... Je n'ai pas encore trouvé de solution sur le web ...

Toute aide serait vraiment appréciée!

+0

Vous recherchez 'SELECT INTO OUTFILE'? http://dev.mysql.com/doc/refman/5.1/en/select.html –

Répondre

1

Vous semblez ne pas être en cours d'exécution Powershell, mais l'outil de ligne de commande mysql (peut-être vous il a commencé dans une console powershell cependant.)

Notez également que l'outil de ligne de commande MySQL ne peut pas exporter directement au format CSV.

Cependant, pour rediriger la sortie vers un fichier il suffit d'exécuter

mysql mydb <myscript.sql>mysql.out 

ou par exemple

echo select * from mytable | mysql mydb >mysql.out 

(et tous les arguments pour vous mysql besoin, comme nom d'utilisateur, le nom d'hôte)

+0

Pour le premier, je l'ai essayé à la fois dans shell et mysql (en shell). Je reçois soit le caractère ''> réservé pour un usage futur '' soit on me dit que j'ai une erreur de syntaxe (quand j'essaye de courir dans le terminal mysql). Assez nouveau à ce :) Merci pour votre aide! – Pharaon

+0

@yunje vous ne devriez pas exécuter ceci dans le terminal mysql. Exécutez-le dans votre cmd.exe ou PowerShell – nos

0

Vous cherchez SELECT INTO OUTFILE? dev.mysql.com/doc/refman/5.1/fr/select.html - Pekka Il ya 19 heures

Yep. Sélectionnez dans outfile travaillé! Mais pour vous assurer que vous obtenez des noms de colonnes, vous devez également faire quelque chose comme:

select * 
from 
(
select 
a, 
b, 
c 
) 
Union ALL 
(Select * 
from actual) 
Questions connexes