ワイランナーでmysqlからデータを操作する。〜mysqlオプション編〜
概要
- 通常、bashなどのCLI上からmysqlからデータを取得したい場合、
mysql
$ mysql -u ${user} -p
mysql >
...
のような形で起動してmysqlのデータを確認したりしていると思いますが、オプションの-eを使うとbashのCLI上でデータ操作が可能になります。
--execute=statement, -e statement
ステートメントを実行して、終了します。デフォルトの出力形式は、--batch で生成されるものと同様です。例については、セクション4.2.4「コマンド行でのオプションの使用」を参照してください。このオプションでは、mysql は履歴ファイルを使用しません。
4.5.1.1 mysql のオプション
実例
mysql
$ mysql -u ${user} -p -D ${db_name} -e "select * from ${table_name}";
Enter password:
+--------------+---------------------+
| id | created_at |
+--------------+---------------------+
| aaaaa | 2016-04-18 18:07:42.000000 |
| bbbbb | 2016-04-18 18:07:42.000000 |
+--------------+---------------------+
※カラム名は例です。
Tips集
ちなみに取得データをファイルに落としたい場合もあるとおもいます。その場合は、リダイレクトを利用してファイルに落とすことも可能です。
リダイレクションの「>」「 >>」とパイプ「 | 」の違い。
mysql
$ mysql -u root -p -D memberprovision -e "mysql -u ${user} -p -D ${db_name} -e "select * from ${table_name}" > test.list
Enter password:
$ head -n 10 test.list
id created_at
aaaaa 2016-04-18 18:07:42.000000
bbbbb 2016-04-18 18:07:42.000000
また、取得したものの中でヘッダー部分がいらない場合は、オプション「-B」と「-N」をつけます。
そうすると「id」と「created_at」が消えます。
bash
$ mysql -u root -p -D memberprovision -B -N -e "mysql -u ${user} -p -D ${db_name} -e "select * from ${table_name}" > test.list
Enter password:
$ head -n 10 test.list
aaaaa 2016-04-18 18:07:42.000000
bbbbb 2016-04-18 18:07:42.000000
以上です。他にもこんなTipsあるよという方はぜひコメントください!
Author And Source
この問題について(ワイランナーでmysqlからデータを操作する。〜mysqlオプション編〜), 我々は、より多くの情報をここで見つけました https://qiita.com/i35_267/items/4c2572ee7b91a5dbc641著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .