mysqlコマンドを実行するスクリプトを作成する方法

mysqlコマンドを実行するスクリプトを作成する方法

シェルスクリプトを使用して次のコマンドを実行できますか?

mysql -u user
use mydb
delete from mydata where row='xx'

答え1

これはDocumentationの仕事です。

mysql -u user << END_CMDS
use mydb
delete from mydata where row='xx'
END_CMDS

ドキュメント ここにSQLをスクリプト自体に含める方法があります。私はユーザーIDのMySQLパスワードがどのように機能するのかわかりません。ユーザーにパスワードがあることを確認する必要があります。

シェルスクリプトから呼び出しをインデントできますが、mysql「document here」で終わるタグ(上記の例ではEND_CMDS)をインデントしないでください。

答え2

このコマンドは、次のことを行うのに役立ちます。

mysql -u user -p mydb --execute="行='xx'のmydataから削除"

答え3

私のスクリプトのいくつかをチェックすることに興味があるかもしれません。神話テレビツールWebページ。これは、シェルスクリプトでmysqlコマンドを実行し、getoptオプションの解析(たとえば、複数のWHERE句を使用)に基づいて適切に複雑なmysqlコマンドを作成するのに非常に良い例です。

どちらも同じ基本技術を使用してSQL文字列を構成し、mysqlorに接続しますmysql --batch

システムのすべてのユーザーがコマンドラインオプションでログインとパスワードを検索(または実行)して表示できるため、これらのいずれも--userオプションを使用しません。代わりに、ログイン資格情報を含むファイルの存在に依存します。--password/procps~/.my.cnf

関連情報