MySQLの\G修飾子とは?SELECT文の結果を縦表示する理由と\gとの違いを解説
はじめに:\G修飾子の役割
MySQLのコマンドラインクライアントでは、SQL文の末尾に付ける終端記号として、セミコロン(;)以外にも「\g」や「\G」といった修飾子を使用できます。このうち\G修飾子を使うと、クエリの実行結果が縦方向(垂直方向)に整形されて表示されます。カラム数が多く横に長くなりすぎる結果を見やすくしたい場合に非常に便利です。
一方、「\g」はセミコロンとまったく同じ働きをするステートメントターミネータ(文の終端記号)であり、出力形式には一切影響しません。つまり、表示形式を変えるのは「\G」だけという点が重要なポイントです。
検証用テーブルの作成
まず、動作を確認するためのサンプルテーブルを作成しましょう。以下のクエリを実行します。
mysql> create table DemoOfVertical
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> Name varchar(20),
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (3.40 sec)
次に、INSERT文を使ってレコードを数件追加します。
mysql> insert into DemoOfVertical(Name) values('Bob');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoOfVertical(Name) values('Carol');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoOfVertical(Name) values('David');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoOfVertical(Name) values('Mike');
Query OK, 1 row affected (0.17 sec)準備ができたら、SELECT文で全レコードを表示して、セミコロン・\g・\Gそれぞれの挙動を比較してみましょう。
ケース1:セミコロン(;)で終端した場合
通常どおりセミコロンをステートメントターミネータとして使うと、結果は表形式(横向き)で表示されます。
mysql> select *from DemoOfVertical;
実行結果は次のとおりです。
+----+-------+
| Id | Name |
+----+-------+
| 1 | Bob |
| 2 | Carol |
| 3 | David |
| 4 | Mike |
+----+-------+
4 rows in set (0.00 sec)
ケース2:「\g」で終端した場合
「\g」もセミコロンと同様に文の終端として機能します。出力形式はセミコロンの場合と完全に同じで、表形式のまま表示されます。
mysql> select *from DemoOfVertical\g
実行結果:
+----+-------+
| Id | Name |
+----+-------+
| 1 | Bob |
| 2 | Carol |
| 3 | David |
| 4 | Mike |
+----+-------+
4 rows in set (0.00 sec)
ケース3:「\G」で縦表示にした場合
結果を縦方向に並べて表示したい場合は、「\G」を使用します。各レコードごとにカラム名と値が1行ずつ表示されるため、カラム数の多いテーブルでも読みやすくなります。
mysql> select *from DemoOfVertical\G
実行結果:
*************************** 1. row ***************************
Id: 1
Name: Bob
*************************** 2. row ***************************
Id: 2
Name: Carol
*************************** 3. row ***************************
Id: 3
Name: David
*************************** 4. row ***************************
Id: 4
Name: Mike
4 rows in set (0.00 sec)
まとめ:\gと\Gの違い
- セミコロン(;)と「\g」:どちらも文の終端記号として機能し、結果は通常の表形式(横向き)で表示される。
- 「\G」:文の終端として機能すると同時に、結果を縦方向(垂直)に整形して表示する。
特にカラム数が多いテーブルや、値が長いレコードを確認する際には、「\G」を使うことでターミナルの横幅に収まり、可読性が大幅に向上します。日常的なMySQL操作の中でぜひ活用してみてください。
-
Macのメニューバーからユーザー名を削除する方法
Macにログインすると、メニューバーに自分の名前が表示されていることに気づくでしょう。通常は、現在時刻の横にフルネームが表示されます。複数のアカウントを使い分けている場合、今どのアカウントで作業しているかをひと目で確認できるため便利ですが、Macを一人で使用していて、しかも名前が長い場合は、貴重な画面スペースの無駄になってしまうこともあります。メニューバーから長い名前を削除すれば、空いたスペースを活かしてメニューバー用アプリを追加できます。ここでは、その削除手順を詳しく解説します。メニューバーから名前を削除する手順1. Macのデスクトップ画面を表示します。2. キーボードの「Command」
-
Windows 10のスタートメニューでアプリグループに名前を付けて整理する方法
Windows 8が登場した当初は、そのデザインに不満を抱くユーザーも多くいました。しかし、あのOSには優れた機能がひとつありました。それが、スタート画面のタイルをグループ化して、PCをより整理整頓できるようにする機能です。 実はWindows 10でも、このアプリグループを作成することができます。さらに便利なことに、グループに名前を付ければ、目的のアプリを素早く見つけられるようになります。また、グループのタイトルバーを使えば、グループ同士の並べ替えも簡単に行えます。 アプリグループに名前を付ける手順 Windows 10のスタートメニューでアプリグループに名前を付ける方法はとても簡単です。