庆典 - SQL查询输出变量 [英] bash - SQL Query Outputs to variable

查看:150
本文介绍了庆典 - SQL查询输出变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

林在bash脚本新的。
我想保存在变量SQL查询的输出,但

Im new in bash scripting. I want to save sql-query outputs in variable, but

其实我必须为每个查询与连接到MySQL:

actually I must connect for every query to mysql with:

mysql -u $MYUSER -p$MYPASS -D database

和想要保存seperatly变量每个输出

and want to save every output in seperatly variable

样的查询是: SELECT域中的域用户WHERE ='$ USER'

$variable1 = FIRST_OUTPUT
$variable2 = 2ND_OUTPUT

感谢您

推荐答案

从<一个拍摄href=\"http://stackoverflow.com/questions/1636977/bash-script-select-from-database-into-variable\">bash脚本 - 从数据库到变量选择,你可以阅读查询结果到变量

Taken from bash script - select from database into variable, you can read the query result into a variable.

mysql> SELECT * FROM domains;
+-------+---------+
| user  | domain  |
+-------+---------+
| user1 | domain1 |
| user2 | domain2 |
| user3 | domain3 |
+-------+---------+

用法

$ myvar=$(mysql -D$MYDB -u$MYUSER -p$MYPASS -se "SELECT domain FROM domains")
$ echo $myvar
domain1 domain2 domain3

回声是输出bash命令。然后,您可以<一个href=\"http://stackoverflow.com/questions/918886/how-do-i-split-a-string-on-a-delimiter-in-bash\">split $ myvar的成独立的变量的:

echo is the bash command for output. You can then split $myvar into separate variables:

$ read var1 var2 var3 <<< $myvar
$ echo $var1
domain1
$ echo $var2
domain2

您可以这两个命令合并成一个单一之一:

You can combine these two commands into a single one:

read var1 var2 var3 <<< $(mysql -D$MYDB -u$MYUSER -p$MYPASS -se "SELECT domain FROM domains")

有可能的结果存回数组(有用的,如果你不知道多少条记录那里):

It is possible to store the results into arrays (useful if you don't know how many records there):

$ read -ra vars <<< $(mysql -D$MYDB -u$MYUSER -p$MYPASS -se "SELECT domain FROM domains")
$ for i in "${vars[@]}"; do
$     echo $i
$ done
domain1
domain2
domain3

这篇关于庆典 - SQL查询输出变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆