MySQL \G 수정자란 무엇인가?
MySQL에서 \G 수정자는 쿼리 결과를 세로(수직) 형태로 출력해 주는 기능을 합니다. 반면 \g 수정자는 결과 표시 방식에 아무런 영향을 주지 않으며, 세미콜론(;)과 똑같은 구문 종결자(statement terminator) 역할만 수행합니다.
즉, 두 수정자의 차이를 정리하면 다음과 같습니다.
- ; 또는 \g : 일반적인 테이블(표) 형태로 결과 출력
- \G : 각 행을 세로로 나열하여 가독성을 높여 출력
실제 예제를 통해 차이를 확인해 보겠습니다.
1단계: 테스트용 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoOfVertical -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (3.40 sec)
2단계: 샘플 데이터 삽입
insert 명령어를 사용하여 테이블에 레코드를 추가합니다.
mysql> insert into DemoOfVertical(Name) values('Bob');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoOfVertical(Name) values('Carol');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoOfVertical(Name) values('David');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoOfVertical(Name) values('Mike');
Query OK, 1 row affected (0.17 sec)3단계: 세미콜론(;), \g, \G의 출력 결과 비교
select 문으로 전체 레코드를 조회하면서 각 종결자의 차이를 살펴봅니다.
Case 1: 세미콜론(;) 사용
세미콜론은 가장 기본적인 구문 종결자이며, 결과가 표 형태로 출력됩니다.
mysql> select *from DemoOfVertical;
실행 결과는 다음과 같습니다.
+----+-------+ | Id | Name | +----+-------+ | 1 | Bob | | 2 | Carol | | 3 | David | | 4 | Mike | +----+-------+ 4 rows in set (0.00 sec)
Case 2: \g 사용
\g 역시 구문 종결자로 작동하며, 결과는 세미콜론을 사용했을 때와 완전히 동일하게 표 형태로 출력됩니다.
mysql> select *from DemoOfVertical\g
실행 결과는 다음과 같습니다.
+----+-------+ | Id | Name | +----+-------+ | 1 | Bob | | 2 | Carol | | 3 | David | | 4 | Mike | +----+-------+ 4 rows in set (0.00 sec)
Case 3: \G 사용
결과를 세로 방향으로 확인하고 싶다면 \G를 사용합니다. 컬럼이 많거나 값이 길어서 표 형태로는 보기 어려울 때 특히 유용합니다.
mysql> select *from DemoOfVertical\G
실행 결과는 다음과 같습니다.
*************************** 1. row *************************** Id: 1 Name: Bob *************************** 2. row *************************** Id: 2 Name: Carol *************************** 3. row *************************** Id: 3 Name: David *************************** 4. row *************************** Id: 4 Name: Mike 4 rows in set (0.00 sec)
정리
\G 수정자는 쿼리 결과를 한 행씩 세로로 펼쳐 보여주기 때문에, 컬럼이 많은 테이블을 조회할 때 화면 너비 제약 없이 내용을 쉽게 확인할 수 있습니다. 반면 \g는 단순히 세미콜론의 대체 용도일 뿐입니다. 상황에 맞게 적절한 종결자를 선택하면 MySQL 작업 효율을 크게 높일 수 있습니다.