bashでMySQLのselect結果を出力する方法
小粋空間 » MySQL » bashでMySQLのselect結果を出力する方法
bashでMySQLのselect結果を出力する方法を紹介します。
1.問題点
MySQLで次のようなデータベース・テーブルを作成し、2件のデータをinsertしました。
mysql> describe foo;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(32) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> select * from foo;
+------+------+
| id | name |
+------+------+
| 1 | aaa |
| 2 | bbb |
+------+------+
2 rows in set (0.00 sec)
が、このデータをbashで出力する方法が分かりません。
ということで、bashでMySQLのselect結果を出力する方法を紹介します。
2.bashでMySQLのselect結果を出力する
bashでMySQLのselect結果を出力するには次のようにします。
#!/bin/sh
server="localhost"
database="test"
user="root"
pass="[パスワード]"
sql="select * from foo"
result=`mysql -h $server -D $database -u $user -p"$pass" -N -e "${sql}"`
echo "$result"
実行結果
# ./test.sh
1 aaa
2 bbb