MySQL의 내장 명령인 \G와 \g는 작성된 명령문을 MySQL 서버로 전송하여 실행하도록 하는 역할을 합니다. 반면 세미콜론(;)은 MySQL이 하나의 문장이 끝났음을 판단하는 종료 기호입니다.
흥미로운 점은 두 내장 명령이 결과 집합을 보여주는 형식이 서로 다르다는 것입니다. \G는 결과를 세로(수직) 형식으로 출력하고, \g는 일반적인 표(테이블) 형식으로 출력합니다.
이들을 하나의 문장에서 결합하여 오류 없이 결과를 얻으려면 두 개의 쿼리를 작성해야 합니다. 즉, 첫 번째 쿼리 끝에는 \G 또는 \g를 붙이고, 두 번째 쿼리 끝에는 세미콜론(;)을 붙여 하나의 문장으로 이어 주면 됩니다.
\G와 세미콜론(;)을 결합한 예제
mysql> Select * from student\G select * from ratelist; *************************** 1. row *************************** Name: Gaurav RollNo: 100 Grade: B.tech *************************** 2. row *************************** Name: Aarav RollNo: 150 Grade: M.SC *************************** 3. row *************************** Name: Aryan RollNo: 165 Grade: M.tech 3 rows in set (0.00 sec) +----+------+-------+ | Sr | Item | Price | +----+------+-------+ | 1 | A | 502 | | 2 | B | 630 | | 3 | C | 1005 | | 4 | h | 850 | | 5 | T | 250 | +----+------+-------+ 5 rows in set (0.00 sec)
위 예제에서 MySQL은 먼저 첫 번째 쿼리 뒤에서 \G를 만나고, 이에 따라 해당 결과 집합을 세로 형식으로 출력합니다. 이어서 두 번째 쿼리 뒤에서 종료 기호인 세미콜론(;)을 만나고, 이에 따라 두 번째 결과 집합을 표 형식으로 출력합니다.
\g와 세미콜론(;)을 결합한 예제
mysql> Select * from student\g select * from ratelist; +--------+--------+--------+ | Name | RollNo | Grade | +--------+--------+--------+ | Gaurav | 100 | B.tech | | Aarav | 150 | M.SC | | Aryan | 165 | M.tech | +--------+--------+--------+ 3 rows in set (0.00 sec) +----+------+-------+ | Sr | Item | Price | +----+------+-------+ | 1 | A | 502 | | 2 | B | 630 | | 3 | C | 1005 | | 4 | h | 850 | | 5 | T | 250 | +----+------+-------+ 5 rows in set (0.00 sec)
위 예제에서 MySQL은 먼저 첫 번째 쿼리 뒤에서 \g를 만나고, 이에 따라 결과 집합을 표 형식으로 출력합니다. 이어서 두 번째 쿼리 뒤의 세미콜론(;)을 만나고, 이 경우에도 결과 집합을 표 형식으로 출력합니다.
정리
\G: 쿼리를 실행하고 결과를 세로(수직) 형식으로 출력\g: 쿼리를 실행하고 결과를 표(테이블) 형식으로 출력;: 문장의 끝을 알리는 종료 기호
따라서 하나의 입력 줄에 여러 쿼리를 작성할 때, 각 쿼리의 끝에 적절한 종결 문자(\G, \g, ;)를 붙여 주기만 하면 오류 없이 각각 다른 형식의 결과를 한 번에 얻을 수 있습니다.