source

SELECT * FROM table_name\G에 \G가 표시되는 이유는 무엇입니까?

factcode 2022. 9. 23. 00:04
반응형

SELECT * FROM table_name\G에 \G가 표시되는 이유는 무엇입니까?

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?

단답
유비쿼터스 세미콜론 명령어 터미네이터;사실, 이 의 줄임말입니다.\g이 명령어 자체는 Catalystand의 약어입니다.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이어야 함)
들어가는helpmysql 프롬프트에서는 다음과 같은 모든 mysql 명령어가 표시됩니다.go그리고.ego를 참조해 주세요.ego이 형식의 명령어가 선두에 부가된 'e'를 취득하여go또한 명령어는 동일한 스위치로 mysql을 호출함으로써 일반적으로 발생하는 동작을 채택합니다.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...짠!

내 생각:

  1. 아마 "가라"는 뜻일 거예요.
  2. Postgresql은 \g를 문의 터미네이터로도 사용합니다.Postgresql은 MySQL보다 오래되었기 때문에 영향을 받았을 수 있습니다.

그러나 위의 Andriyev의 투고 코멘트에서 지적한 바와 같이, 실제로는 디스플레이를 세로로 배치하는 \G 대문자를 사용하고 있습니다.소문자 \g는 효과가 없습니다.그렇다면 매뉴얼에 기재되어 있지 않습니다.(MySQL을 사용해 볼 수 있는 설치는 없습니다.)

자동 수직 출력

개빈 잭슨의 훌륭한 대답에 덧붙여, 나는 작은 보석을 발견했다.

$ mysql --auto-vertical-output

출력이 단말기보다 넓은 경우 결과는 자동으로 수직 형식으로 표시됩니다.

에일리어스를 추가합니다.
$ alias mysql='mysql --auto-vertical-output'

가명을 영구화하다
$ echo "alias mysql='mysql --auto-vertical-output'" | tee -a ~/.bashrc

Unix 명령어 'ls' 포맷 옵션과 일치합니다.

언급URL : https://stackoverflow.com/questions/2277014/why-the-g-in-select-from-table-name-g

반응형