プログラムからMySQLに接続する場合、プログラム言語向けのMySQLドライバを使って、接続を行う訳ですが、手続きが色々大変だったり、ドライバのお作法に則って手続きを記述する必要がありますが、コマンドラインから実行する場合は、非常に簡単に接続して情報を取ってくる事ができます。
実際にクエリを流せる状態のコマンドは以下のようにします。
以上のクエリでユーザーhoge、パスワードfugaでログインし、databse01からテーブルのリストを取得します。
ロングオプションを使うのが面倒な場合は、ショートオプションでも実行できます。
ショートオプションを使う場合は、オプションの後ろにスペースを付けるとエラーが出るので注意してください。
出てきた情報は、cutなどで整形してから使う必要があります。
cutに指定できそうなデミリタは「|」くらいですし、bashでは文字列操作の処理が長くなってしまうので
-eオプションでクエリを流し込む
bashからクエリを流し込むには、-eオプションを使います。基本形は以下。mysql --user=[username] --password=[password] [datanase name] --execute="[queries]"
実際にクエリを流せる状態のコマンドは以下のようにします。
mysql --user=hoge --password=fuga database01 --execute="show tables"
以上のクエリでユーザーhoge、パスワードfugaでログインし、databse01からテーブルのリストを取得します。
ロングオプションを使うのが面倒な場合は、ショートオプションでも実行できます。
mysql -uhoge -pfuga database01 -e"show tables"
ショートオプションを使う場合は、オプションの後ろにスペースを付けるとエラーが出るので注意してください。
出てきた情報は、cutなどで整形してから使う必要があります。
cutに指定できそうなデミリタは「|」くらいですし、bashでは文字列操作の処理が長くなってしまうので
- 欲張らずに欲しいカラムのみを取ってくる
- 文字列操作や計算の処理は、クエリ内で済ませる
コメント
コメントを投稿