69
39

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【SQL】SELECT文の実行結果もっと見やすくならないですか?

Last updated at Posted at 2022-10-21

SELECT文の実行結果もっと見やすくならないですか?

後輩ちゃん「SELECT文の実行結果もっと見やすく表示できないのかな」
後輩ちゃん「カラム量が多かったり、レコードの中身が多かったりすると表示が崩れて実行結果が見ずらいんだよな~」

すずこ「そんな時は、メタコマンドを使おう!」

目次

  1. メタコマンドとは
  2. 通常のSELECT文の実行結果
  3. メタコマンド \Gを使用したSELECT文の実行結果

メタコマンドとは

メタコマンド
SQLクエリの通常機能に加えて、追加で利用できる便利コマンド
オプションのような使い方ができる

すずこ「SQLの実行結果をレコードずつ取得するメタコマンド \G があるんだよ」
すずこ「実際に違いを見比べてみよう」

通常のSELECT文の実行結果

すずこ「カラム数やレコードのデータによって、表示が崩れたりするよね」
すずこ「エディタの表示サイズにもよるけど、よくこういった実行結果になるんだ」

※ダミーデータです

実行結果

MariaDB [test]> select * from employees;
+-----+------------------+---------------------------------+------------+--------------------------------------------------------------+------------------------------------------+-----------------+--------+----------+------------+------------+---------+---------------------+---------------------+------------+-------+--------+------+-----------+-----------------+-----------------+
| id  | name             | name_kana                       | birthday   | password_digest                                              | email                                    | employee_number | base   | position | join_date  | evaluation | remarks | created_at          | updated_at          | company_id | admin | gender | city | education | nearest_station | retirement_date |
+-----+------------------+---------------------------------+------------+--------------------------------------------------------------+------------------------------------------+-----------------+--------+----------+------------+------------+---------+---------------------+---------------------+------------+-------+--------+------+-----------+-----------------+-----------------+
---------------------+-------------------+--------------+-----------+------+---------------+---------------+---------------+
 system_design_skill | development_skill | server_skill | specialty | pr   | department_id | prefecture_id | join_division |
---------------------+-------------------+--------------+-----------+------+---------------+---------------+---------------+
|   1 | 管理者           | あどみん                        | 1999-01-01 | $2a$04$T7Pjob.9jpYrcN8ZWeSZFeqt5AyBWPPMV//IDeiIcT06kn7r3NTUC | admin@test.jp                             | test-001         | 東京   |          | 2000-01-01 | NULL       | NULL    | 2022-08-03 20:25:22 | 2022-09-26 23:33:02 |          1 |     1 |      0 |      |           |                 | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |
|   2 | 一般             | いっぱん                        | 1999-01-01 | $2a$04$3rqEwXxBvWEdLeL02ajn1.kngtzXAXdH1zAcKoeOCYr2NIDEsEGda | general@test.jp                           | test-002         | 東京   | NULL     | 2000-01-01 | NULL       | NULL    | 2022-08-03 20:25:22 | 2022-08-03 20:25:22 |          1 |     0 |      0 | NULL | NULL      | NULL            | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |
|   3 | 武藤 圭志        | むとう きよし                   | 1978-04-08 | $2a$04$Mph5eDgPnYqu9uvMlQ8C/OiDqzLe5Ku4sAi74WfW1FurhyyARJN1a | dallas@runte.co                          | test-003         | 東京   | NULL     | 2010-06-07 | NULL       | NULL    | 2022-08-03 20:25:23 | 2022-08-03 20:25:23 |          1 |     0 |      1 | NULL | NULL      | NULL            | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |
|   4 | 松本 沙依        | まつもと さよ                   | 1969-12-09 | $2a$04$q1WU9KBTX/ODDrou6gy6UOJuI.Z./VJTq.qXpKBBBOfQgstt811q. | seth.quigley@tremblay-prosacco.net       | test-004         | 東京   | NULL     | 2018-09-19 | NULL       | NULL    | 2022-08-03 20:25:23 | 2022-08-03 20:25:23 |          1 |     0 |      0 | NULL | NULL      | NULL            | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |
|   5 | 白井 伸安        | しらい のぶやす                 | 1983-04-08 | $2a$04$.S3M2R6ObEDTRcJ7epqolutfcbQMYjDDjBlHysyd.Sf8zRn/IURW6 | jerry_schuster@champlin.org              | test-005         | 東京   | NULL     | 2012-09-30 | NULL       | NULL    | 2022-08-03 20:25:23 | 2022-08-03 20:25:23 |          1 |     0 |      1 | NULL | NULL      | NULL            | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |

後輩ちゃん「対応するカラムとレコードが見づらくてすごく不便に感じるんです」
後輩ちゃん「メタコマンド?を使うときれいに表示されるんですか?」

すずこ「そう!レコードごとに表示してくれるから対応するデータもとても見やすくなるよ!」
すずこ「実際にメタコマンド \G を利用してみよう」

メタコマンドを使用したSELECT文の実行結果

すずこ「構文の違いは、;(セミコロン)\G に変えるだけ!」

構文

- select * from employees;
+ select * from employees\G

実行結果

MariaDB [test]> select * from employees\G
*************************** 1. row ***************************
                 id: 1
               name: 管理者
          name_kana: あどみん
           birthday: 1999-01-01
    password_digest: $2a$04$T7Pjob.9jpYrcN8ZWeSZFeqt5AyBWPPMV//IDeiIcT06kn7r3NTUC
              email: admin@test.jp
    employee_number: test-001
               base: 東京
           position:
          join_date: 2000-01-01
         evaluation: NULL
            remarks: NULL
         created_at: 2022-08-03 20:25:22
         updated_at: 2022-09-26 23:33:02
         company_id: 1
              admin: 1
             gender: 0
               city: NULL
          education: NULL
    nearest_station: NULL
    retirement_date: NULL
system_design_skill: NULL
  development_skill: NULL
       server_skill: NULL
          specialty: NULL
                 pr: NULL
      department_id: 1
      prefecture_id: NULL
      join_division: 0
*************************** 2. row ***************************
                 id: 2
               name: 一般
          name_kana: いっぱん
           birthday: 1999-01-01
    password_digest: $2a$04$3rqEwXxBvWEdLeL02ajn1.kngtzXAXdH1zAcKoeOCYr2NIDEsEGda
              email: general@test.jp
    employee_number: test-002
               base: 東京
           position: NULL
          join_date: 2000-01-01
         evaluation: NULL
            remarks: NULL
         created_at: 2022-08-03 20:25:22
         updated_at: 2022-08-03 20:25:22
         company_id: 1
              admin: 0
             gender: 0
               city: NULL
          education: NULL
    nearest_station: NULL
    retirement_date: NULL
system_design_skill: NULL
  development_skill: NULL
       server_skill: NULL
          specialty: NULL
                 pr: NULL
      department_id: 1
      prefecture_id: NULL
      join_division: 0

後輩ちゃん「カラムとデータも対応していて、見やすくなりました!」

すずこ「SQLの実行結果の表示に困ったときは是非使ってみて!」


以上

69
39
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
69
39

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?