MySQL如何确定语句的结尾?

MySQL遇到以下任一情况时,将确定语句的结束-

分号(;)

通常,MySQL在遇到终止分号(;)时确定语句的结尾(单行还是多行)。请看以下示例,

mysql> Select * from employee; (Single line statement)
mysql> Select *
    -> from
    -> employee; (Multiple line statement)

在这两种情况下,MySQL遇到分号后都返回结果集,这意味着语句的结尾。

\ G选项

\ G选项表示将当前状态发送到要执行的服务器,并以垂直格式显示结果。当我们使用\ G并在一条语句(单行或多行)中省略分号(;)时,MySQL会在遇到\ G时确定该语句的结尾。考虑下面的示例-

mysql> Select * from Student\G
*************************** 1. row ***************************
  Name: Gaurav
RollNo: 100
 Grade: B.tech
*************************** 2. row ***************************
  Name: Aarav
RollNo: 150
 Grade: M.SC
*************************** 3. row ***************************
  Name: Aryan
RollNo: 165
 Grade: M.tech
3 rows in set (0.00 sec)

\ g选项

\ g选项表示将当前状态发送到要执行的服务器。当我们使用\ g并在一条语句(单行或多行)中省略分号(;)时,MySQL会在遇到\ g时确定该语句的结尾。它以与使用分号(;)获得的格式相同的格式提供输出。考虑下面的示例-

mysql> Select * from Student\g
+--------+--------+--------+
| Name   | RollNo | Grade  |
+--------+--------+--------+
| Gaurav | 100    | B.tech |
| Aarav  | 150    | M.SC   |
| Aryan  | 165    | M.tech |
+--------+--------+--------+
3 rows in set (0.00 sec)