Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 SELECT * FROM table_name\G의 \G 수정자가 필요한 이유는 무엇일까요?

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 작업 효율을 크게 높일 수 있습니다.