mysql \g和\G的作用_它们不能添加符号; 及原因


最近在查看 mysql主从状态时(使用 show slave status 命令),对于 \g\G 使用较多,也遇到了一些问题,写此文章总结记录一下。

\g 的作用

\g 就是等同于; 表示此sql语句的结束,如下展示:
show databases;
show databases\g
这两种情况的结果都是一样的。

\G 的作用

其主要是为了垂直展示命令的执行结果,当查询结果字段较多,使用此方式教佳,看看如下对比:
使用常规方式查询:
在这里插入图片描述
因为字段太多,都第二行了,字段和值都错开了,不好看。
再看看加上\G:
在这里插入图片描述
是不是明显好多了。☺

\g\G 的使用注意事项,不要加;

读者再回顾看看\g\G 的使用截图,都是没有在后面追加; 的,其实是因为如果添加了会报如下错误:
在这里插入图片描述
字面上的意思就是没有指定查询。
对于上面的情况\g\G 如果后面加上;都会报这个错误。

为什么加上;报错呢

我从mysqlhelp 中找到了原因,看下图:
在这里插入图片描述原来是\g\G; 一样都有结束一段command 的作用(Send command to mysql server)。如果我们在show slave status\g 后面再上;,不就等于show slave status;; 了,这其实是两个命令,前面的也就是show slave status;正常,后面的命令也就是; 当然mysql就报出No query specified(都没有查询) 了,下面的截图也能印证我们的想法:
在这里插入图片描述

总结

  1. 先介绍了\g\G 两个转移字符的作用。
  2. 然后介绍了它们在使用中的问题,也就是不能追加;,最后解释了不能追加;的原因。

版权声明:本文为daofengsuoxiang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。