返回信息流本人试了两种方法:
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是空的,没有写进去记录。
请做过的同学们给点意见。
这是一条镜像帖。来源:北邮人论坛 / database / #1811同步于 2008/1/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
如何把mysql的输出重定向到文件中?
larryjia
2008/1/8镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
不知道你这么做的目的是什么,不过感觉很奇怪,好像你是为了省事。
不过我不建议这么做,建议你用主语言调用sql语句再把结果用主语言
输出就可以了。
【 在 larryjia (阿毛) 的大作中提到: 】
: 本人试了两种方法:
: 1.SELECT username INTO OUTFILE 'a.txt' FROM USERNAMES;
: 结果提示:Access denied for user ...@...(using password)
: ...................
那你应该把mysql的结果返回给perl,(比如保存到一个二维数组)
然后再通过perl输出到一个文件。而不是企图直接让sql的结果输出。
【 在 larryjia (阿毛) 的大作中提到: 】
: 我是用perl调用的mysql,最后想把得到的特定字段放在一个文件里就好了。
现在就是sql的结果出现在屏幕上,如何返回给perl?按原理sql的结果是可以输出到文件中,这样我后面直接在perl中处理这个得到的文本就可以了。
【 在 chit 的大作中提到: 】
: 那你应该把mysql的结果返回给perl,(比如保存到一个二维数组)
: 然后再通过perl输出到一个文件。而不是企图直接让sql的结果输出。
你是说执行一个perl的脚本结果就显示出来了?
那你在这个脚本后面加上 > XX 不就可以了么?
【 在 larryjia (阿毛) 的大作中提到: 】
: 现在就是sql的结果出现在屏幕上,如何返回给perl?按原理sql的结果是可以输出到文件中,这样我后面直接在perl中处理这个得到的文本就可以了。
不是,我现在是只用sql语句测试的,没有加开头和结尾的perl语句,就是说现在和perl还没发生连系。想在这种情况下就得到这个文本文件。
【 在 chit 的大作中提到: 】
: 你是说执行一个perl的脚本结果就显示出来了?
: 那你在这个脚本后面加上 > XX 不就可以了么?
呵呵,我明白你的意思了。不过数据库不是这么用的。
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还没发生连系。想在这种情况下就得到这个文本文件。
搜一下Perl的mysql模块Perl/DBI。
【 在 larryjia (阿毛) 的大作中提到: 】
: 现在就是sql的结果出现在屏幕上,如何返回给perl?按原理sql的结果是可以输出到文件中,这样我后面直接在perl中处理这个得到的文本就可以了。