Trong MySQL client dòng lệnh, modifier \G (chữ G in hoa) làm cho kết quả truy vấn hiển thị theo định dạng **dọc (vertical)** thay vì bảng ngang thông thường. Rất hữu ích khi bảng có nhiều cột hoặc dữ liệu dài.
So sánh các modifier kết thúc câu lệnh
| Modifier | Chức năng |
|---|---|
| Kết thúc câu lệnh, hiển thị dạng bảng ngang (mặc định) | |
Giống ;, hiển thị dạng bảng ngang | |
| Kết thúc câu lệnh, hiển thị dạng dọc (vertical) |
Ví dụ minh họa
1. Tạo bảng và chèn dữ liệu
CREATE TABLE DemoOfVertical (
Id INT NOT NULL AUTO_INCREMENT,
Name VARCHAR(20),
PRIMARY KEY(Id)
);
INSERT INTO DemoOfVertical(Name) VALUES('Bob'),('Carol'),('David'),('Mike');
2. Case 1: Kết thúc bằng dấu chấm phẩy (;)
mysql> SELECT * FROM DemoOfVertical;
Kết quả bảng ngang:
+----+-------+
| Id | Name |
+----+-------+
| 1 | Bob |
| 2 | Carol |
| 3 | David |
| 4 | Mike |
+----+-------+
3. Case 2: Kết thúc bằng \g
mysql> SELECT * FROM DemoOfVertical\g
Kết quả giống hệt ; (bảng ngang)
4. Case 3: Kết thúc bằng \G (chữ G in hoa)
mysql> SELECT * FROM DemoOfVertical\G
Kết quả dạng dọc:
*************************** 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)
Khi nào nên dùng \G?
- Bảng có nhiều cột (wide table) → tránh-wrap dòng trên terminal hẹp
- Giá trị cột dài (TEXT, JSON, BLOB) → dễ đọc từng trường
- Debug dữ liệu: so sánh giá trị giữa các hàng dễ dàng hơn
- Kết hợp với
SHOW ENGINE INNODB STATUS\G,SHOW PROCESSLIST\G
Lưu ý
- Chỉ hoạt động trong MySQL client dòng lệnh (mysql, mysqlsh)
- Không hoạt động trong các GUI (Workbench, DBeaver, phpMyAdmin) - chúng tự format hiển thị
- Phải là chữ G in hoa, \g thường không có tác dụng này