일반적으로 MySQL에서 SQL 문장을 실행하려면 문장 끝에 반드시 세미콜론(;)을 붙여야 합니다. 하지만 문장 맨 끝에 \G 또는 \g 옵션을 붙이면 세미콜론 없이도 쿼리를 정상적으로 실행할 수 있습니다. 이 두 옵션은 단순히 세미콜론을 대체하는 것뿐만 아니라, 결과를 출력하는 방식에도 차이를 만듭니다.
\G 옵션 사용하기 — 세로 형식 출력
문장 끝에 \G를 붙여 실행하면 결과 집합이 세로(vertical) 형식으로 출력됩니다. 컬럼 수가 많은 테이블을 조회할 때 각 행의 값을 한 줄씩 확인할 수 있어 가독성이 크게 향상됩니다.
mysql> Select * from Stock_item\G
*************************** 1. row ***************************
item_name: Calculator
Value: 15
Quantity: 89
*************************** 2. row ***************************
item_name: Notebooks
Value: 63
Quantity: 40
*************************** 3. row ***************************
item_name: Pencil
Value: 15
Quantity: 40
*************************** 4. row ***************************
item_name: Pens
Value : 65
Quantity: 32
*************************** 5. row ***************************
item_name: Shirts
Value: 13
Quantity: 29
*************************** 6. row ***************************
item_name: Shoes
Value: 15
Quantity: 29
*************************** 7. row ***************************
item_name: Trousers
Value: 15
Quantity: 29
7 rows in set (0.00 sec)위 쿼리처럼 \G를 사용하고 세미콜론을 생략하면, 각 레코드가 개별 블록으로 구분되어 세로 방향으로 깔끔하게 정렬된 결과를 얻을 수 있습니다.
\g 옵션 사용하기 — 테이블 형식 출력
반면 문장 끝에 \g를 붙여 실행하면, 세미콜론을 사용했을 때와 동일한 테이블(tabular) 형식으로 결과가 출력됩니다.
mysql> Select * from Stock_item\g +------------+-------+----------+ | item_name | Value | Quantity | +------------+-------+----------+ | Calculator | 15 | 89 | | Notebooks | 63 | 40 | | Pencil | 15 | 40 | | Pens | 65 | 32 | | Shirts | 13 | 29 | | Shoes | 15 | 29 | | Trousers | 15 | 29 | +------------+-------+----------+ 7 rows in set (0.00 sec)
\g는 사실상 세미콜론과 동일한 역할을 수행하며, 결과 역시 익숙한 표 형태 그대로 유지됩니다.
두 옵션의 차이점 요약
\G는 결과를 세로 형식으로 보여주므로 컬럼이 많거나 값이 긴 경우 확인하기 편리하고, \g는 세미콜론과 같은 테이블 형식으로 출력됩니다. 상황에 따라 적절한 옵션을 선택하면 세미콜론 없이도 MySQL 문장을 손쉽게 실행할 수 있습니다.