SELECT文の実行結果もっと見やすくならないですか?
後輩ちゃん「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の実行結果の表示に困ったときは是非使ってみて!」
以上