Mysql bash-SQL查询输出到变量
我是bash脚本的新手。 我想将sql查询输出保存在变量中,但是 实际上,我必须通过以下方式连接到mysql的每个查询:Mysql bash-SQL查询输出到变量,mysql,sql,bash,shell,variables,Mysql,Sql,Bash,Shell,Variables,我是bash脚本的新手。 我想将sql查询输出保存在变量中,但是 实际上,我必须通过以下方式连接到mysql的每个查询: mysql -u $MYUSER -p$MYPASS -D database 并希望将每个输出保存在单独的变量中 示例查询是:从user='$user'所在的域中选择域。 到 谢谢摘自,您可以将查询结果读入变量 例子 用法 echo是用于输出的bash命令。然后你可以: $read var1 var2 var3另一种方法是: dbquery=`mysql -D$MYDB -
mysql -u $MYUSER -p$MYPASS -D database
并希望将每个输出保存在单独的变量中
示例查询是:从user='$user'所在的域中选择域。
到
谢谢摘自,您可以将查询结果读入变量
例子
用法
echo
是用于输出的bash命令。然后你可以:
$read var1 var2 var3另一种方法是:
dbquery=`mysql -D$MYDB -u$MYUSER -p$MYPASS -se "SELECT domain FROM domains"`
dbquery_array=( $( for i in $dbquery ; do echo $i ; done ) )
第一行以类似于数组的方式以变量dbquery
存储查询的所有输出。第二行使用一个简单的for
循环将dbquery
转换成一个数组dbquery\u数组
变量=mysql-u root-ppassworrd数据库=22;
EOF
我希望有帮助
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
$ read var1 var2 var3 <<< $myvar
$ echo $var1
domain1
$ echo $var2
domain2
read var1 var2 var3 <<< $(mysql -D$MYDB -u$MYUSER -p$MYPASS -se "SELECT domain FROM domains")
$ 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
dbquery=`mysql -D$MYDB -u$MYUSER -p$MYPASS -se "SELECT domain FROM domains"`
dbquery_array=( $( for i in $dbquery ; do echo $i ; done ) )