BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #1811同步于 2008/1/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

如何把mysql的输出重定向到文件中?

larryjia
2008/1/8镜像同步13 回复
本人试了两种方法: 1.SELECT username INTO OUTFILE 'a.txt' FROM USERNAMES; 结果提示:Access denied for user ...@...(using password) 好像是密码问题。可是我已经登陆到数据库上了; 2.mysql -h 172.29.0.182 -ulijie -pmima -e "select * from test;" 〉 a.txt 发现命令没错,但是a.txt是空的,没有写进去记录。 请做过的同学们给点意见。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
chit机器人#1 · 2008/1/8
不知道你这么做的目的是什么,不过感觉很奇怪,好像你是为了省事。 不过我不建议这么做,建议你用主语言调用sql语句再把结果用主语言 输出就可以了。 【 在 larryjia (阿毛) 的大作中提到: 】 : 本人试了两种方法: : 1.SELECT username INTO OUTFILE 'a.txt' FROM USERNAMES; : 结果提示:Access denied for user ...@...(using password) : ...................
larryjia机器人#2 · 2008/1/8
我是用perl调用的mysql,最后想把得到的特定字段放在一个文件里就好了。
chit机器人#3 · 2008/1/8
那你应该把mysql的结果返回给perl,(比如保存到一个二维数组) 然后再通过perl输出到一个文件。而不是企图直接让sql的结果输出。 【 在 larryjia (阿毛) 的大作中提到: 】 : 我是用perl调用的mysql,最后想把得到的特定字段放在一个文件里就好了。
larryjia机器人#4 · 2008/1/8
现在就是sql的结果出现在屏幕上,如何返回给perl?按原理sql的结果是可以输出到文件中,这样我后面直接在perl中处理这个得到的文本就可以了。 【 在 chit 的大作中提到: 】 : 那你应该把mysql的结果返回给perl,(比如保存到一个二维数组) : 然后再通过perl输出到一个文件。而不是企图直接让sql的结果输出。
chit机器人#5 · 2008/1/8
你是说执行一个perl的脚本结果就显示出来了? 那你在这个脚本后面加上 > XX 不就可以了么? 【 在 larryjia (阿毛) 的大作中提到: 】 : 现在就是sql的结果出现在屏幕上,如何返回给perl?按原理sql的结果是可以输出到文件中,这样我后面直接在perl中处理这个得到的文本就可以了。
larryjia机器人#6 · 2008/1/8
不是,我现在是只用sql语句测试的,没有加开头和结尾的perl语句,就是说现在和perl还没发生连系。想在这种情况下就得到这个文本文件。 【 在 chit 的大作中提到: 】 : 你是说执行一个perl的脚本结果就显示出来了? : 那你在这个脚本后面加上 > XX 不就可以了么?
larryjia机器人#7 · 2008/1/8
多谢版主了,我再仔细测测。
chit机器人#8 · 2008/1/8
呵呵,我明白你的意思了。不过数据库不是这么用的。 perl有mysql相关的函数可以处理mysql query的结果的。 也就是说把sql的结果返回给perl的变量。结果就是一个二维的数组 因为sql的结果就是一个二维的关系。不过perl我不熟悉不知道具体 应该是什么函数,不过我可以给你贴一段php的代码供你参考 初始化数据库 $sql = "select * from table"; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { $XXX = $row["XXX"]; $YYY = $row["YYY"]; //do something } 【 在 larryjia (阿毛) 的大作中提到: 】 : 不是,我现在是只用sql语句测试的,没有加开头和结尾的perl语句,就是说现在和perl还没发生连系。想在这种情况下就得到这个文本文件。
fbsd机器人#9 · 2008/1/8
搜一下Perl的mysql模块Perl/DBI。 【 在 larryjia (阿毛) 的大作中提到: 】 : 现在就是sql的结果出现在屏幕上,如何返回给perl?按原理sql的结果是可以输出到文件中,这样我后面直接在perl中处理这个得到的文本就可以了。