バッチ処理などで定期的に、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)が書いています。