我正在尝试对从数据库中提取的数据做一些简单的统计,但每当我执行mysql命令时,我得到的就是mysql用法列表。令我困惑的是这个命令可以从命令行运行,但不能从我的ruby脚本中运行。
命令:
query = 'select * from builds;'
results = `mysql -h <hostname> -u root -D build -e #{query}`
print results
我希望看到该表中的所有内容,但我得到的是:
mysql Ver 14.12 Distrib 5.0.37,for Win32(ia32)版权所有(C)2002 MySQL AB此软件绝对附带 没有保修。这是免费软件, 欢迎您修改和 根据GPL许可证重新分发它 用法:mysql [OPTIONS] [数据库]
- ?, - help显示此帮助并退出。 -I, - help
同义词 - ? --auto-翻版
启用自动重新散列。一 不需要使用 'rehash'得到桌子和场地完成,但是 启动 并重新连接可能需要更长的时间。禁用 - 禁用自动翻版。 -A, - no-auto-rehash 没有自动重复。一个人必须使用'rehash'来 得到 表和现场完成。这样可以更快地启动 的 mysql并禁用重新连接时的重新连接。 警告: 不赞成的选项;使用--disable-auto-rehash 代替。 -B, - 补丁不要 使用历史文件。禁用交互式 行为。
...等
任何帮助都会很棒。 感谢。
答案 0 :(得分:1)
你有什么理由不能只使用mysql gem吗?
答案 1 :(得分:1)
我强烈建议您使用mysql gem for ruby。它允许您本机操作而不是包装命令行。
但是在你的命令中,我会尝试在执行之前用引号括起查询。
results = `mysql -h <hostname> -u root -D build -e "#{query}"`