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

세미콜론(;) 없이 MySQL 쿼리를 실행하는 내장 명령어 \G와 \g 완벽 정리

MySQL에서는 세미콜론(;) 종결 기호를 사용하지 않고도 쿼리를 실행할 수 있는 내장 명령어가 제공됩니다. 대표적인 명령어로 \G\g가 있으며, 이 두 옵션은 문장 끝에 세미콜론을 붙이지 않아도 MySQL이 자동으로 문장의 끝을 인식하고 서버에 전송해 실행합니다.

\G (ego) 명령어 — 세로 형태로 결과 출력

\G 옵션은 현재 입력한 SQL 문장을 서버로 전송해 실행하고, 그 결과를 세로(vertical) 형식으로 화면에 표시합니다. 한 줄 또는 여러 줄로 작성된 문장에서 세미콜론을 생략하고 \G만 입력하면, MySQL은 \G를 만나는 시점을 문장의 끝으로 판단합니다. 특히 컬럼 수가 많거나 값이 긴 경우 가독성이 크게 향상되므로 실무에서 유용하게 활용됩니다.

mysql> Select * from ratelist\G
*************************** 1. row ***************************
    Sr: 1
 Item: A
Price: 502
*************************** 2. row ***************************
Sr: 2
Item: B
Price: 630
*************************** 3. row ***************************
    Sr: 3
 Item: C
Price: 1005
*************************** 4. row ***************************
    Sr: 4
 Item: h
Price: 850
*************************** 5. row ***************************
    Sr: 5
 Item: T
Price: 250
5 rows in set (0.00 sec)

\g (go) 명령어 — 일반 테이블 형태로 결과 출력

\g 옵션 역시 현재 문장을 서버로 전송해 실행하는 역할을 합니다. 세미콜론(;)을 생략한 상태에서 \g를 입력하면 MySQL은 \g를 문장의 끝으로 인식합니다. 출력 결과는 세미콜론을 사용했을 때와 동일한 테이블(표) 형식으로 나타나며, 사실상 세미콜론과 같은 역할을 하는 종결 기호라고 볼 수 있습니다.

mysql> Select * from ratelist\g
+----+------+-------+
| 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)

\G와 \g의 핵심 차이 정리

  • \g: 세미콜론(;)과 동일하게 작동하며, 결과를 일반 테이블 형식으로 출력합니다.
  • \G: 쿼리를 실행하되, 결과를 레코드별 세로 형식으로 출력해 넓은 테이블 조회 시 가독성을 높여줍니다.

두 명령어 모두 세미콜론 없이 쿼리를 종료하고 실행할 수 있다는 공통점이 있으므로, 상황에 맞게 선택하여 사용하면 됩니다.