mysql \g和\G的作用_它们不能添加符号; 及原因
最近在查看
mysql
主从状态时(使用show slave status
命令),对于\g
和 \G
使用较多,也遇到了一些问题,写此文章总结记录一下。
\g
的作用
\g
就是等同于;
表示此sql语句的结束,如下展示:
这两种情况的结果都是一样的。
\G
的作用
其主要是为了垂直展示命令的执行结果,当查询结果字段较多
,使用此方式教佳,看看如下对比:
使用常规方式查询:
因为字段太多,都第二行了,字段和值都错开了,不好看。
再看看加上\G
:
是不是明显好多了。☺
\g
和 \G
的使用注意事项,不要加;
读者再回顾看看\g
和 \G
的使用截图,都是没有在后面追加;
的,其实是因为如果添加了会报如下错误:
字面上的意思就是没有指定查询。
对于上面的情况\g
和 \G
如果后面加上;
都会报这个错误。
为什么加上;
报错呢
我从mysql
的 help
中找到了原因,看下图:
原来是\g
、\G
和 ;
一样都有结束一段command
的作用(Send command to mysql server)。如果我们在show slave status\g
后面再上;
,不就等于show slave status;;
了,这其实是两个命令,前面的也就是show slave status;
正常,后面的命令也就是;
当然mysql
就报出No query specified(都没有查询)
了,下面的截图也能印证我们的想法:
总结
- 先介绍了
\g
和\G
两个转移字符的作用。 - 然后介绍了它们在使用中的问题,也就是不能追加
;
,最后解释了不能追加;
的原因。