MySQLの出力結果をファイルに出力する方法。

teeコマンドを使うと簡単。

mysql> tee output.txt
Logging to file 'output.txt'
mysql> select * from users order by gender;
+----+--------+--------+------+
| id | name   | gender | age  |
+----+--------+--------+------+
|  3 | alice  | f      |   15 |
|  5 | jasmin | f      |   17 |
|  1 | john   | m      |   18 |
|  2 | paul   | m      |   20 |
|  4 | dabid  | m      |   17 |
+----+--------+--------+------+
5 rows in set (0.00 sec)

mysql> select * from users where gender = 'm' order by age;
+----+-------+--------+------+
| id | name  | gender | age  |
+----+-------+--------+------+
|  4 | dabid | m      |   17 |
|  1 | john  | m      |   18 |
|  2 | paul  | m      |   20 |
+----+-------+--------+------+
3 rows in set (0.01 sec)

mysql> select * from users where gender = 'f';
+----+--------+--------+------+
| id | name   | gender | age  |
+----+--------+--------+------+
|  3 | alice  | f      |   15 |
|  5 | jasmin | f      |   17 |
+----+--------+--------+------+
2 rows in set (0.00 sec)

mysql> notee
Outfile disabled.

ファイルの出力を開始するには、MySQL 接続語に tee を実行し、出力終了時には notee を実行する。 出力先のファイルパスは絶対パスでも相対パスでもOK。ファイル名だけを指定した場合は、mysql へ接続したフォルダ(ディレクトリ)にファイルが生成される。