sql >> Database >  >> RDS >> Mysql

Waarom de \G in SELECT * FROM tabelnaam\G?

Kort antwoord
De alomtegenwoordige puntkomma-opdrachtterminator ; is eigenlijk een afkorting voor de \g commando, wat op zichzelf een afkorting is voor de go opdracht. De go commando wordt zowel historisch als momenteel gebruikt in andere SQL-varianten om batches met opdrachten in te dienen die door de server moeten worden gecompileerd en/of geïnterpreteerd. De \G commando lijkt zijn karakteristieke letter te erven van \g , en wordt met een hoofdletter geschreven om een ​​gewijzigd gedrag aan te geven, zoals beschreven door...
mysql> help ... \g go Send command to mysql server. \G ego Send command to mysql server, display result vertically. ...

Langer antwoord ( Het zou eigenlijk \E moeten zijn )
Het invoeren van help bij de mysql-prompt worden alle mogelijke mysql-commando's weergegeven, inclusief go en ego hierboven weergegeven. Het ego commando krijgt een voorvoegsel 'e' wat aangeeft dat deze vorm van de go commando neemt ook een gedrag aan dat normaal zou worden opgelegd door mysql aan te roepen met de vergelijkbare schakelaar mysql -E

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

Dus waarom -E . gebruiken als afkorting voor --vertical ?... Omdat beide V , v , en e waren al toegewezen als schakelaars voor ander aanroepgedrag. Het ego commando had eenvoudig \E . kunnen gebruiken omdat het een snelkoppeling is, maar verwarrend genoeg een hoofdletterversie van de \g . heeft aangenomen commando.

Samengevat...
--verticaal>> -E>> ego>> \G ...Tada !



  1. Heb je echt een db-verbindingspool nodig voor eenhoornrails?

  2. SQL Server 2008 Express CONCAT() bestaat niet?

  3. Moet de namen van werknemers ordenen volgens de kolom van hun stad

  4. Dynamisch alternatief voor pivoteren met CASE en GROUP BY