Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que o \G em SELECT * FROM table_name\G?


Resposta curta
O onipresente terminador de comando de ponto e vírgula ; é na verdade uma abreviação para o \g comando, que em si é uma abreviação para o comando go comando. O go O comando é usado historicamente e atualmente em outros tipos de SQL para enviar lotes de comandos a serem compilados e/ou interpretados pelo servidor. O \G comando parece herdar sua letra característica de \g , e é capitalizado para indicar um comportamento modificado, conforme descrito por...
mysql> help ... \g go Send command to mysql server. \G ego Send command to mysql server, display result vertically. ...



Resposta mais longa (Deve ser realmente \E )
Inserindo help no prompt do mysql lista todos os comandos mysql possíveis, incluindo go e ego Mostrado acima. O ego O comando adquire um 'e' prefixado indicando que esta forma do go O comando também adota um comportamento que normalmente seria imposto ao invocar o mysql com o switch similar mysql -E


De 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. ...

Então, por que usar -E como abreviação de --vertical ?... Porque ambos V , v e e já haviam sido atribuídos como opções para outros comportamentos de invocação. O ego comando poderia facilmente ter usado \E como é um atalho, mas adotou de forma confusa uma versão em maiúsculas do \g comando.



Em resumo...
--vertical>> -E>> ego>> \G ...Tada!