当前位置:  开发笔记 > 编程语言 > 正文

如何将变量传递给mysql脚本?

如何解决《如何将变量传递给mysql脚本?》经验,为你挑选了2个好方法。

我知道使用mysql,您可以将SQL语句写入.sql文件,并从mysql命令行运行该文件,如下所示:

mysql> source script.sql

如何将变量传递给脚本?例如,如果我想运行一个检索部门中所有员工的脚本,我希望能够将部门的编号作为变量传递.

我不是试图通过shell脚本运行查询.我从mysql命令行运行简单的查询.我已经厌倦了一直重新输入它们,为它们编写shell脚本会有点过分.



1> Brad Choate..:

像这样:

set @department := 'Engineering';

然后,@department在script.sql中的任何位置引用:

update employee set salary = salary + 10000 where department = @department;



2> Yordan Georg..:
    #!/bin/bash

    #verify the passed params
    echo 1 cmd arg : $1
    echo 2 cmd arg : $2

    export db=$1
    export tbl=$2

    #set the params ... Note the quotes ( needed for non-numeric values )
    mysql -uroot -pMySecretPaassword \
    -e "set @db='${db}';set @tbl='${tbl}';source run.sql ;" ;

    #usage: bash run.sh my_db my_table
    #
    #eof file: run.sh

    --file:run.sql

    SET @query = CONCAT('Select * FROM ', @db , '.' , @tbl ) ;
    SELECT 'RUNNING THE FOLLOWING query : ' , @query ;
    PREPARE stmt FROM @query;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;

    --eof file: run.sql

您可以从以下项目中重复使用整个概念

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有