📦
MySQLで結果を縦に表示する "\G" はなぜ "G" なのか
MySQLで出力を縦にレイアウトするときに使う "\G" がなぜ "G" という文字なのか気になったので調べてみました。
と言っても以下のStack Overflowを日本語で要約しただけなので、こちらを参照した方が詳しいです。
公式の見解ではないので真偽のほどは分かりません。公式ドキュメントでは、なぜGなのかについての言及は見つけられませんでした。見つけた人がいれば教えてください。
なぜ\Gなのか
ヒントは $ man mysql
や mysql> help
にあるらしい。
経緯
そもそもステートメントの最後につけるセミコロンがなんなのか
- セミコロン (;) は \g の省略形
- \g はgoの略で、MySQLサーバーにコマンドを送るという意味
縦に表示するコマンドラインオプション
- デフォルトで縦に表示するための --vertical というコマンドラインオプションがある
- この省略形を作る際、-v も -V も -e もすでに使っていたので、-E になった
- vはverticalの頭文字だけど、次にeを検討したのは謎。2文字目を取った?
$ mysql --vertical
や $ mysql -E
でクライアントを起動すると、常に \G をつけたときと同じ挙動になる。
\Gになった理由
- MySQLサーバーにコマンドを送り、結果を縦に表示するやつは-Eのgoなので、egoという名前になった
- \g の仲間なのでこれを \G とすることにした
結論
--vertical >> -E >> ego >> \G
わかるようなわからないような。
Discussion