\G
这个 G
是 group
的首字母,表示每行记录分组显示。
默认情况下,表数据的查询结果是横向输出的,如下所示:
mysql> select * from student;
+----------------------+--------------+------+-------+----------+---------------------+
| id | name | age | score | birthday | insert_time |
+----------------------+--------------+------+-------+----------+---------------------+
| 00000000000000000001 | liaowenxiong | 18 | NULL | NULL | 2021-09-25 02:40:51 |
| 00000000000000000002 | liudehua | 28 | NULL | NULL | 2021-09-25 02:40:51 |
| 00000000000000000003 | zhangxueyou | 38 | NULL | NULL | 2021-09-25 02:40:51 |
| 00000000000000000004 | test1 | 28 | 19.0 | NULL | 2021-10-01 16:26:35 |
| 00000000000000000005 | test2 | 28 | 19.0 | NULL | 2021-10-01 16:26:35 |
| 00000000000000000006 | test3 | 28 | 19.0 | NULL | 2021-10-01 16:26:35 |
+----------------------+--------------+------+-------+----------+---------------------+
6 rows in set (0.00 sec)
字段非常多的情况下,横向输出的结果非常乱,根本不适合人类阅读,而加上 \G
参数之后,表的数据变成纵向输出,即每条记录的列值会逐行显示,那么最后输出的结果就是一条记录为一组,这样的输出结果更利于人类阅读。如下所示:
mysql> select * from student\G;
*************************** 1. row ***************************
id: 00000000000000000001
name: liaowenxiong
age: 18
score: NULL
birthday: NULL
insert_time: 2021-09-25 02:40:51
*************************** 2. row ***************************
id: 00000000000000000002
name: liudehua
age: 28
score: NULL
birthday: NULL
insert_time: 2021-09-25 02:40:51
*************************** 3. row ***************************
id: 00000000000000000003
name: zhangxueyou
age: 38
score: NULL
birthday: NULL
insert_time: 2021-09-25 02:40:51