将mysql查询输出存储到shell变量中

我需要一个变量来保存从数据库中检索到的结果。到目前为止,这基本上是我正在尝试但没有成功的方法。

myvariable=$(mysql database -u $user -p $password | SELECT A, B, C FROM table_a)

如您所见,我对bash命令的理解不是很好。

回答:

我对MySQL命令行界面了解不多,但是假设您只需要帮助,可以尝试像下面这样交换命令:

myvariable=$(echo "SELECT A, B, C FROM table_a" | mysql database -u $user -p$password)

它将字符串回显到MySQL。或者,您可以更喜欢并使用一些新的bash功能(here字符串)

myvariable=$(mysql database -u $user -p$password<<<"SELECT A, B, C FROM table_a")

结果相同(假设您使用的是最新的bash版本),而没有涉及echo。

请注意,-p $ password不是错字,而是MySQL期望通过命令行输入密码的方式(选项和值之间没有空格)。

请注意,myvariable将包含MySQL在标准输出上输出的所有内容(通常是除错误消息以外的所有内容),包括任何和所有列标题,ASCII艺术框架等,可能不是您想要的。

如前所述-e,MySQL 似乎有一个参数,我肯定会这么做。

以上是 将mysql查询输出存储到shell变量中 的全部内容, 来源链接: utcz.com/qa/429744.html

回到顶部