【问题标题】:Passing multiple parameters from shell script to mysql query将多个参数从 shell 脚本传递到 mysql 查询
【发布时间】:2013-08-26 12:00:53
【问题描述】:

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

谁能帮我解决这个问题?谢谢!!

【问题讨论】:

    标签: mysql unix


    【解决方案1】:

    假设你这样调用脚本 $ ./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
    

    【讨论】:

      【解决方案2】:
      mysql -e "set @param1:=4897, @param2:=2; source the_script.sql;"
      

      还有脚本:

      SELECT @param1, @param2;
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-30
        • 2022-11-04
        • 1970-01-01
        • 2022-09-27
        • 1970-01-01
        相关资源
        最近更新 更多