我需要一个变量来保存从数据库检索到的结果.到目前为止,这基本上是我正在try 的,但没有成功.
myvariable=$(mysql database -u $user -p $password | SELECT A, B, C FROM table_a)
正如你所看到的,我对bash命令的理解不是很好.
我需要一个变量来保存从数据库检索到的结果.到目前为止,这基本上是我正在try 的,但没有成功.
myvariable=$(mysql database -u $user -p $password | SELECT A, B, C FROM table_a)
正如你所看到的,我对bash命令的理解不是很好.
我对MySQL命令行界面了解不多,但假设您只需要bash方面的帮助,您应该try 交换命令,如下所示:
myvariable=$(echo "SELECT A, B, C FROM table_a" | mysql database -u $user -p$password)
它将字符串 echo 到MySQL中.或者,您也可以更花哨地使用一些新的bash功能(here字符串)
myvariable=$(mysql database -u $user -p$password<<<"SELECT A, B, C FROM table_a")
结果是相同的(假设您使用的是足够新的bash版本),而不涉及echo.
请注意,-p$密码不是输入错误,而是MySQL希望通过命令行输入密码的方式(选项和值之间没有空格).
请注意,myvariable将包含MySQL在standard out上输出的所有内容(通常是所有内容,但错误消息除外),包括任何和所有列标题、ASCII艺术帧等,这些内容可能是您想要的,也可能不是您想要的.
EDIT:
As has been noted, there appears to be a -e
parameter to MySQL, I'd go for that one, definitely.