MySQL命令行 \g 与 \G 的作用(Navicat不能用它们?)
先看下 Mysql
命令行的 help;
( 或\h
) :
ego (\G) -- Send command to mysql server, display result vertically.
go (\g) -- Send command to mysql server.
可以看出 \G
与 \g
都可以 Send command to mysql server
,而且 \G
还可以将结果 display result vertically(垂直显示)
。
\g 的使用
\g
等同于 ;
mysql> Select * From student Where id = 1;
+----+------+-----+--------+----------+------+
| id | name | age | gander | password | salt |
+----+------+-----+--------+----------+------+
| 1 | 白杰 | 19 | 男 | NULL | NULL |
+----+------+-----+--------+----------+------+
1 row in set (0.01 sec)
mysql> Select * From student Where id = 1\g
+----+------+-----+--------+----------+------+
| id | name | age | gander | password | salt |
+----+------+-----+--------+----------+------+
| 1 | 白杰 | 19 | 男 | NULL | NULL |
+----+------+-----+--------+----------+------+
1 row in set (0.00 sec)
如果在 Select * From student Where id = 1\g
后加一个 ;
,就等价于 Select * From student Where id = 1;;
,第一个 ;
前面有一个查询,正常给出结果;第二个 ;
前面什么都没有,Send command to mysql server
后,会抛出一个 ERROR
提示,No query specified(没有指定查询)
。
mysql> Select * From student Where id = 1\g;
+----+------+-----+--------+----------+------+
| id | name | age | gander | password | salt |
+----+------+-----+--------+----------+------+
| 1 | 白杰 | 19 | 男 | NULL | NULL |
+----+------+-----+--------+----------+------+
1 row in set (0.00 sec)
ERROR:
No query specified
mysql> ;;
ERROR:
No query specified
ERROR:
No query specified
mysql> \g\g
ERROR:
No query specified
ERROR:
No query specified
\G 的使用
\G
与 \g
、;
差异的地方只是 垂直显示 。
mysql> Select * From student Where id = 1\g
+----+------+-----+--------+----------+------+
| id | name | age | gander | password | salt |
+----+------+-----+--------+----------+------+
| 1 | 白杰 | 19 | 男 | NULL | NULL |
+----+------+-----+--------+----------+------+
1 row in set (0.00 sec)
mysql> Select * From student Where id = 1\G
*************************** 1. row ***************************
id: 1
name: 白杰
age: 19
gander: 男
password: NULL
salt: NULL
1 row in set (0.00 sec)
Navicat 中可以用 \g 和 \G ?
Navicat 是第三方工具,在 Navicat查询中不能用 `\g` 和 `\G` ,这种命令方式是命令行独有的,Navicat未实现,应该也没必要实现吧?。
个人觉得,\G
垂直显示,是为了解决命令窗口,一行不能全部用来展示应该展示出来的内容,而占多行,看起来混乱的问题。如下:
可以看出这是使用 \G
,就比较容易看查询结果。
下面是在 Navicat 中使用 \g
\G
报错情况
如下:还是 Select * From student Where id = 1
。
使用 ;
。
使用 \g
。
使用 \G
。
———— OVER ————