sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor \G i SELECT * FROM tabelnavn\G?

Kort svar
Den allestedsnærværende semikolon-kommandoterminator ; er faktisk en forkortelse for \g kommandoen, som i sig selv er en forkortelse for go kommando. go kommando bruges både historisk og i øjeblikket i andre varianter af SQL til at sende batches af kommandoer, der skal kompileres og/eller fortolkes af serveren. \G kommandoen ser ud til at arve dets karakteristiske bogstav fra \g , og skrives med stort for yderligere at angive en ændret adfærd, som beskrevet af...
mysql> help ... \g go Send command to mysql server. \G ego Send command to mysql server, display result vertically. ...

Længere svar (Det burde virkelig være \E )
Indtastning af help ved mysql-prompten viser alle de mulige mysql-kommandoer, inklusive go og ego vist ovenfor. ego kommandoen anskaffer et foranstillet 'e', ​​der indikerer, at denne form af go kommandoen anvender også en adfærd, der normalt ville blive påført ved at kalde mysql med den lignende switch mysql -E

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

Så hvorfor bruge -E som stenografi for --vertical ?... Fordi både V , v og e allerede var blevet tildelt som omskiftere til andre opkaldsadfærd. ego kommandoen kunne nemt have brugt \E som det er genvej, men til forveksling overtaget en version med stort bogstav af \g kommando.

Sammenfattende...
--lodret>> -E>> ego>> \G ...Tada!



  1. codeigniter-database flytter til en anden tabel

  2. Sådan overvåger du forbindelsespooling for .NET MySQL Data Connector i IIS

  3. enum('yes', 'no') vs tinyint -- hvilken skal man bruge?

  4. Indstil AUTO_INCREMENT værdi gennem variabel i MySql