質問

知っているmysqlが書けるSQLステートメントに。sqlファイルのファイルからmysqlコマンドラインのようになります:

mysql> source script.sql

どうしていただくために、変数のスクリプト?例えば、私は走らせたいというスクリプトを取得します全ての従業員の一部になりたいときは、番号の部門として可変となります。

"私のはなしているためのクエリを通じてシェルスクリプトある単純なクエリを実行しますから、mysqlョンをインストールして下さい。疲れたのretypingて、シェルスクリプト用いてを失わせないアイテムです。

役に立ちましたか?

解決

このように:

set @department := 'Engineering';

その後、参考 @department どこでも必要なものです。sql:

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

他のヒント

    #!/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

きの全体のコンセプト から、以下のプロジェクト

お見なければ、より適切な方を行っています。私はそうなんでしょうねんしようでは、mysqlのクエリを介してシェルスクリプトするようにしましょう使うPERLやPHPにしました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top