shellでSQLの戻り値を取得する方法

シェルでSQL文を実行して戻り値を取得するには、以下の方法を使用できます。

  1. コマンドラインインターフェイスツール(mysql、psql など) を利用して SQL 文を実行し、その結果を標準出力へ出力します。それからその出力をシェルコマンドの置き換え(コマンド置換) を経由して変数へ代入します。たとえば、
result=$(mysql -uusername -ppassword -Ddatabase -e "SELECT column FROM table")
  1. SQL文をファイルに保存し、そのファイルをコマンドラインインターフェースツールで実行して、標準出力に出力させる。また、シェルのコマンド置換で出力結果を変数に代入する。たとえば、
result=$(mysql -uusername -ppassword -Ddatabase < query.sql)
  1. bashやhere文書に対応したシェルであれば、SQL文を直接スクリプト内に記述し、コマンド置換によって結果を取得できます。例:
result=$(mysql -uusername -ppassword -Ddatabase <<EOF
SELECT column FROM table;
EOF
)

いずれの方法を用いても、SQL文の実行結果には最終的に変数$resultからアクセスできます。具体的な状況に応じて使い分けましょう。

bannerAds