MySQLでクエリ結果を縦方向(垂直)に表示する方法
MySQLでは、SELECT文の実行結果はデフォルトで表形式(水平方向)に出力されます。しかし、カラム数が多い場合などは、結果が見づらくなることがあります。そんなときに便利なのが、ステートメントの末尾に \G を付ける方法です。
\G オプションの使い方
通常のSQL文では末尾にセミコロン(;)を付けますが、代わりに \G を指定すると、結果セットが1行ごとに縦方向(垂直形式)で表示されます。これにより、各カラム名とその値が「名前: 値」のペアとして読みやすく出力されます。
実行例
以下は、Studentテーブルから名前が「Aarav」であるレコードを検索し、結果を垂直形式で表示する例です。
mysql> Select * from Student where name = 'Aarav'\G *************************** 1. row *************************** Name: Aarav RollNo: 150 Grade: M.SC 1 row in set (0.00 sec)
ポイント
- \G は文の最後に指定します。セミコロンと併用する必要はありません。
- 表示形式が変わるだけで、クエリ自体の動作や結果には影響しません。
- カラム数が多いテーブルや、画面幅が限られている環境(ターミナル作業など)で特に役立ちます。
このように、\G を使うだけで簡単に結果セットを垂直形式で確認できるため、大量のカラムを持つレコードを調査・デバッグする際のトラブルシューティングにも重宝します。
-
MySQLクエリで「Empty set」を別の値に置き換える方法
MySQLでは、該当するレコードが存在しない場合に返されるNULL値を、COALESCE関数を使って別の値に置き換えることができます。検索結果が空になったときに、デフォルト値を表示させたい場面で非常に便利です。COALESCE関数とはCOALESCEは、引数として渡された複数の値の中から、最初にNULLではない値を返す関数です。集計関数(MAXやSUMなど)の結果がNULLになるケースでは、第2引数で指定した代替値が代わりに返されます。サンプルテーブルの作成まず、動作確認用のテーブルを作成します。mysql> create table DemoTable -> ( -&
-
MySQLでSELECTクエリの結果を並べ替える方法|ORDER BY句の基本と実践例
データベース操作では、テーブルから特定のデータや行を抽出することが日常的によくあります。通常、SELECT文で取得した行はテーブル内に格納されている順序で返されますが、場合によっては、特定の列を基準にして昇順または降順で並べ替えた結果を取得したいこともあるでしょう。そんなときに活躍するのが「ORDER BY」句です。以下で具体的な使い方を見ていきましょう。例えば、「name」フィールドを含む複数のカラムを持つテーブルがあるとします。テーブルからすべての行を取得したいけれど、名前のアルファベット順に並べ替えた状態で結果を受け取りたい——こうしたケースでは、ORDER BY句を使って「name」フ