上京エンジニアの葛藤

都会に染まる日々

MySQL の SELECT 文を見やすくするぞ

自分用に tips として残しておこうと思います。

Webエンジニアの皆さんは、業務で MySQL を使用することがよくとあると思います。 DB の中を見たい時はどのように確認していますか。

僕はコンソールが苦手な情弱エンジニアなので、前職では PHPMyAdminMySQL Workbench などの GUI ツールを使用していました。

このような類のツールはすごく便利で使い勝手がいいと思いますが、現職で GUI ツールを使用している人がチーム内にはおらず、これを機に僕も CUI でやるか!と気合いを入れて挑みました。

普通に以下のように SELECT 文を打ちます。

SELECT * FROM demo;

レコード数が多かったり、カラム内のデータが多かったら以下のような結果になります。

+----+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+-------+-------+-------+-------+-------+-------+-------+--------+
| id | test1                                                                                                                                                                                                                                    | test2 | test3 | test4 | test5 | test6 | test7 | test8 | test9 | test10 |
+----+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+-------+-------+-------+-------+-------+-------+-------+--------+
|  1 | hoge                                                                                                                                                                                                                                     | hoge  | hoge  | hoge  | hoge  | hgoe  | hoge  | hoge  | hoge  | hoge   |
|  2 | hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge                                                                                                                     | hoge  | hoge  | hoge  | hoge  | hgoe  | hoge  | hoge  | hoge  | hoge   |
|  3 | hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge | hoge  | hoge  | hoge  | hoge  | hgoe  | hoge  | hoge  | hoge  | hoge   |
|  4 | hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge | hoge  | hoge  | hoge  | hoge  | hgoe  | hoge  | hoge  | hoge  | hoge   |
|  5 | hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge | hoge  | hoge  | hoge  | hoge  | hgoe  | hoge  | hoge  | hoge  | hoge   |

通常ディスプレイのサイズで折り返しされて見にくい・・・ってなりますね。

そういう時は、以下のようにクエリを書きます。

SELECT * FROM demo \G;


*************************** 1. row ***************************
    id: 1
 test1: hoge
 test2: hoge
 test3: hoge
 test4: hoge
 test5: hoge
 test6: hgoe
 test7: hoge
 test8: hoge
 test9: hoge
test10: hoge
*************************** 2. row ***************************
    id: 2
 test1: hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge
 test2: hoge
 test3: hoge
 test4: hoge
 test5: hoge
 test6: hgoe
 test7: hoge
 test8: hoge
 test9: hoge
test10: hoge
*************************** 3. row ***************************
    id: 3
 test1: hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge
 test2: hoge
 test3: hoge
 test4: hoge
 test5: hoge
 test6: hgoe
 test7: hoge
 test8: hoge
 test9: hoge
test10: hoge
*************************** 4. row ***************************
    id: 4
 test1: hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge
 test2: hoge
 test3: hoge
 test4: hoge
 test5: hoge
 test6: hgoe
 test7: hoge
 test8: hoge
 test9: hoge
test10: hoge
*************************** 5. row ***************************
    id: 5
 test1: hogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehogehoge
 test2: hoge
 test3: hoge
 test4: hoge
 test5: hoge
 test6: hgoe
 test7: hoge
 test8: hoge
 test9: hoge
test10: hoge

こんな感じで縦に表示されます。

ということで、最後に「 \G 」をつけるだけでとても見やすくなります。