将多个参数从shell脚本传递到mysql查询

时间:2013-08-26 12:00:53

标签: mysql unix

我必须编写一个unix shell脚本,它将获取MySQL的参数并将结果导出到csv文件中。 我已经写了一些程度但是无法将多个参数从shell脚本传递给sql。

任何人都可以帮助我吗?谢谢!

2 个答案:

答案 0 :(得分:3)

假设您像这样调用脚本 $ ./script param1 param2 param3

脚本中的

echo $0 #will echo 'script' (the name of the script)
echo $1 #will echo 'param1'
echo $2 #will echo 'param2'
echo $3 #will echo 'param3'
echo $# #will echo '3' the number of params passed to script
echo $@ #will echo 'param1 param2 param3' (all the parameters passed)
host="127.0.0.1"
user="root"
password="pass"
result=`mysql -h $host --user=$user --password=$password --skip-column-names -e "select $param1 from $param2 where $param3 = 3"`
echo $result

答案 1 :(得分:2)

mysql -e "set @param1:=4897, @param2:=2; source the_script.sql;"

脚本:

SELECT @param1, @param2;

P.S。顺便说一句,我建议使用--defaults-extra-file选项传递连接参数。