share facebook facebook twitter menu hatena pocket slack

2011.11.14 MON

シェルスクリプトからSQL文を実行する

木村 圭佑

WRITTEN BY 木村 圭佑

バッチ処理などで定期的に、DBの値を更新したりしたい場合があります。
その場合は、シェルスクリプトでSQLを実行しそれをcronなどで定期的に呼び出すようにするのが一般的です。

シェルスクリプトからSQLを実行する場合は、以下の3つの書き方があります。

1.SQL文とシェルスクリプトを分ける方法
update.sqlというファイルに実行したいSQLを予め記述しておき、以下のように記述。

$ mysql -u [ユーザー] [DB名]

SQL文を別ファイルで分けられるので、使い勝手がよくシェルスクリプトも見やすくなります。

2.-eオプションで実行
-eオプションを使えば、そのままSQLを記述して実行できます。

$ mysql -u [ユーザー] [DB名] "update hoge SET id = 1;"

簡単なSQL文の場合はこれでいいかもしれません。

3.ヒアドキュメントを使う
長いSQL分や、複数のSQLを実行したい場合はヒアドキュメントを使うのが便利です。

$ mysql -u [ユーザー] [DB名] 

※この記事は、なかの人(moresmileman)が書いています。

木村 圭佑

木村 圭佑

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。