SQL

MySQLの出力結果が見にくいときの対処法

mysql_logo

どうも、シューヘーです。

「MySQLの出力が改行されるせいで、出力結果が見づらい…」という時があるかと思います。例えば、以下のとおり。

こんな時の対処法を2つ、現役エンジニアが解説します。

 

※動作確認環境:MySQL 8.0.17

MySQLの出力結果を見やすくするための方法

方法1. 「\G」を末尾につける

さきほどの例では、以下のコマンドを打ちました。

SELECT * FROM posts LIMIT 3;

これを、以下のように末尾に「\G」を追加します。

※バックスラッシュ「\」は、Macの場合「Option + ¥」で入力できます。もしできないときは「バックスラッシュ mac」で調べてみてください。

※セミコロン「;」はあってもなくても大丈夫です

SELECT * FROM psots LIMIT 3\G

すると、出力結果が以下のようになります。

列が縦に並ぶようになったので、かなり見やすくなりました。

方法2. 「pager less -S -n」を使う

mysqlのコンソール画面で以下のコマンドを入力することで、それ以降の出力結果をlessコマンドの表示に切り替えることができます。

pager less -S -n

これを入力した後、最初と同様にselect文で出力してみます。

lessで出力しているので、矢印キーの左右で移動できます。もちろんlessのその他の操作も行えます。

※lessコマンドが何か分からない人は、「less コマンド 使い方」でググってみてください。

 

「pager less -S -n」の意味を簡単に説明すると、以下のとおりです。

pager:mysqlのコマンド。lessなどのUNIXコマンドが使える。

less:出力用のUNIXコマンド。

-S:lessコマンドのオプション。画面幅より行が長くても、折り返さない。

-n:lessコマンドのオプション。行番号を表示しないので、高速になる。

pagerコマンドに関しては、MySQLの公式リファレンスも読んでみるといいでしょう。他にもいろんなコマンドが使えることも分かります。

pagerを解除する方法

さきほど「pager less -S -n」で設定したpagerを解除して、lessコマンドで出力させないように戻すには、以下のコマンドを打てばOKです。

nopager

参考文献

この記事を書くにあたり、以下のページを参考にしました。これらも読んでみると、より理解が深まるかと思います。

MySQLコマンドラインの表示結果を見やすく

mysqlコンソールをpagerで便利に

 

では、今回は以上です。