MySQLクエリを\G
の代わりに;
で終了すると、MySQLは結果セットを垂直形式で返します。これは、返される列の数が多い場合に読みやすい場合があります。
例:
mysql> SELECT * FROM help_keyword LIMIT 3\G
*************************** 1. row ***************************
help_keyword_id: 0
name: JOIN
*************************** 2. row ***************************
help_keyword_id: 1
name: REPEAT
*************************** 3. row ***************************
help_keyword_id: 2
name: SERIALIZABLE
3 rows in set (0.00 sec)
純粋な好奇心から質問された質問:キャラクターの組み合わせ\G
を選択する理由はありますか?
私の考え:
しかし、上記のAndriyevの投稿へのコメントで指摘したように、ディスプレイが垂直にレイアウトされるのは、実際には\ Gが大文字になっているためです。小文字の\ gはその効果がありません。または、効果がある場合、ドキュメントでは言及されていません。 (私はそれを試すのに便利なMySQLインストールを持っていません。)
短い回答
ユビキタスセミコロンコマンドターミネータ_;
_は、実際には_\g
_コマンドの省略形であり、それ自体がgo
コマンドの省略形です。 go
コマンドは、歴史的にも現在もSQLの他の種類で使用されており、サーバーでコンパイルまたは解釈されるコマンドのバッチを送信します。 _\G
_コマンドは、その特徴的な文字を_\g
_から継承しているようで、大文字で大文字に変更された動作を示しています。
_mysql> help ... \g go Send command to mysql server. \G ego Send command to mysql server, display result vertically. ...
_
長い回答(実際には\ Eである必要があります)
mysqlプロンプトでhelp
と入力すると、上記のgo
およびego
を含む、考えられるすべてのmysqlコマンドがリストされます。 ego
コマンドは、この形式のgo
コマンドも、同様のスイッチ_mysql -E
_を使用してmysqlを呼び出すことにより通常課される動作を採用することを示す、先頭に「e」を付けて取得します
man mysql... ... --vertical, -E Print query output rows vertically (one line per column value). Without this option, you can specify vertical output for individual statements by terminating them with \G. ...
から
では、なぜ_-E
_を_--vertical
_の省略形として使用するのですか?... V
、v
、およびe
の両方がすでに他の呼び出し動作へのスイッチとして割り当てられています。 ego
コマンドは、_\E
_をショートカットとして簡単に使用できたかもしれませんが、_\g
_コマンドの大文字バージョンを混乱させて採用しました。
要約すれば...
-vertical >> -E >> ego >> \ G ...多田!