Linux
MySQL
shell
select
echo

MySQL文の中でechoのようなことをしたい

More than 3 years have passed since last update.

MySQL内から.sqlファイルなどを読み込んだ場合、途中の処理がわかりやすいようにechoのような表示をさせたい。


SELECTで表示

mysql> SELECT 'hoge';

+------+
| hoge |
+------+
| hoge |
+------+
1 row in set (0.00 sec)

うーん、見栄えが悪い。

列名の非表示には「-N」、枠線の非表示にはDB接続時に「-s」オプションをつけなくてはならないみたい。

shell $ mysql -s -N ~

mysql> SELECT 'hoge';
hoge

これで文字のそのまま出力はできるようになったけど、今後テーブルいじるとこの表示になって見にくい・・。

MySQL内で起動オプションの切り替えができたらいいのに。


シェルから表示

万策尽きたので、MySQL内から直接シェルのechoコマンドを実行してみる。

mysql> \! echo hoge

hoge

できた。文字をそのまま表示させたいときはこれぐらいしかない模様。

他にもないのかな?