最近在查看
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两个转移字符的作用。 - 然后介绍了它们在使用中的问题,也就是不能追加
;,最后解释了不能追加;的原因。
版权声明:本文为daofengsuoxiang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。