セミコロンを使わずにMySQLステートメントを実行する方法
はじめに
通常、MySQLでステートメントを実行するには、文の最後に終了セミコロン(;)を付ける必要があります。しかし、MySQLステートメントの末尾に\Gまたは\gオプションを付けることで、セミコロンを省略してステートメントを実行することが可能です。
\Gオプションを使用した実行例
以下の例では、\Gオプションを使ってSELECTステートメントをセミコロンなしで実行しています。
mysql> Select * from Stock_item\G
*************************** 1. row ***************************
item_name: Calculator
Value: 15
Quantity: 89
*************************** 2. row ***************************
item_name: Notebooks
Value: 63
Quantity: 40
*************************** 3. row ***************************
item_name: Pencil
Value: 15
Quantity: 40
*************************** 4. row ***************************
item_name: Pens
Value : 65
Quantity: 32
*************************** 5. row ***************************
item_name: Shirts
Value: 13
Quantity: 29
*************************** 6. row ***************************
item_name: Shoes
Value: 15
Quantity: 29
*************************** 7. row ***************************
item_name: Trousers
Value: 15
Quantity: 29
7 rows in set (0.00 sec)上記のように、セミコロンを省略したクエリでも\Gオプションを付けることで正常に実行され、結果セットが縦型(垂直)フォーマットで表示されます。カラム数が多くて横幅が足りない場合など、縦型表示の方が読みやすい場面で特に便利です。
\gオプションを使用した実行例
次に、\gオプションを使った場合の実行例を見てみましょう。
mysql> Select * from Stock_item\g +------------+-------+----------+ | item_name | Value | Quantity | +------------+-------+----------+ | Calculator | 15 | 89 | | Notebooks | 63 | 40 | | Pencil | 15 | 40 | | Pens | 65 | 32 | | Shirts | 13 | 29 | | Shoes | 15 | 29 | | Trousers | 15 | 29 | +------------+-------+----------+ 7 rows in set (0.00 sec)
\gオプションを付けた場合も、セミコロンを省略したままクエリが実行されますが、こちらは結果セットが表形式(テーブル形式)で表示されます。
まとめ
\G:セミコロンなしでステートメントを実行し、結果を縦型(垂直)フォーマットで表示する。\g:セミコロンなしでステートメントを実行し、結果を表形式(テーブル形式)で表示する。
このように、\Gと\gはどちらもセミコロンの代わりとして機能しますが、出力される結果の表示形式が異なる点に注意しましょう。用途に応じて使い分けることで、より快適にMySQLを操作できます。
-
MySQLでprintステートメントをシミュレートする方法|SELECT文を使った文字列・数値の出力
MySQLには、他のプログラミング言語のようなprintステートメントが用意されていません。しかし、SELECT文を活用することで、同じように値を画面に出力できます。デバッグや動作確認の際に非常に便利なテクニックなので、ぜひ覚えておきましょう。基本的な構文MySQLでprintのように出力するには、以下の構文を使用します。SELECT 任意の文字列や数値 AS ;AS の部分は列名(エイリアス)を空にする指定です。これにより、余計な列名を表示せずに出力結果だけを見やすくすることができます。ケース1:文字列を出力するまず、文字列を出力する基本例を確認してみましょう。mysql> SEL
-
MySQLで1つのステートメントを使ってデータベース内の全テーブルの構造を確認する方法
MySQLでは、INFORMATION_SCHEMA.COLUMNS を利用することで、たった1つのSQL文でデータベース内のすべてのテーブルの構造(カラム情報)を一括して確認できます。通常、テーブルごとに DESCRIBE 文を実行する必要がありますが、この方法なら手間を大幅に削減できます。基本構文SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA=yourDatabaseName\GTABLE_SCHEMA に対象のデータベース名を指定します。末尾の \G を付けることで、結果が縦方向に整形されて表示され、多くのカラム情報