我忘记了分号“;”在MySQL终端查询中。我该怎么退出?

时间:2012-09-11 16:03:44

标签: mysql sql macos terminal

有时我忘了以分号“;”结束我的SQL查询在我的Mac终端。发生这种情况时,终端在开头设置->,我无法退出或运行任何其他SQL命令。

我该如何退出?

6 个答案:

答案 0 :(得分:20)

你不知道mysql终端的5种不同的报价模式。我建议你复习一下:

https://dev.mysql.com/doc/refman/5.0/en/entering-queries.html

以上链接的相关部分:

下表显示了您可能看到的每个提示,并总结了它们对mysql所处状态的含义。

Prompt  Meaning
mysql>  Ready for new command.

->      Waiting for next line of multiple-line command.

'>      Waiting for next line, waiting for completion of a string 
        that began with a single quote (“'”).

">      Waiting for next line, waiting for completion of a string 
        that began with a double quote (“"”).

`>      Waiting for next line, waiting for completion of an 
        identifier that began with a backtick (“`”).

/*>     Waiting for next line, waiting for completion of a 
        comment that began with /*.

在MySQL 5.0系列中,/*>提示符已在MySQL 5.0.6中实现。

当您打算在一行上发出命令时,通常会发生多行语句,但忘记了终止分号。在这种情况下,mysql等待更多输入:

mysql> SELECT USER()
    ->

如果您遇到这种情况(您认为自己已经输入了声明,但唯一的响应是 - >提示),则很可能mysql正在等待分号。如果您没有注意到提示告诉您的内容,您可能会在那里坐一会儿,然后才意识到您需要做什么。输入分号以完成语句,mysql执行它:

TLDR:

要退出,请键入\c;ctrl-cctrl-d。如果所有这些都失败了,请输入'<enter>"<enter>*/<enter>

,退出您所处的报价模式

答案 1 :(得分:5)

只需输入\ c即可清除当前的输入语句

答案 2 :(得分:4)

只需输入“;”并按Enter键。在命令行模式下,您可以使用任意数量的输入行来完成查询。所以你可以这样做:

>SELECT
>*
>FROM
>table
>WHERE
>id=5
>;

如果你愿意的话。

答案 3 :(得分:4)

可以尝试为我工作的"\q"

答案 4 :(得分:0)

使用以下键盘快捷键之一: Ctrl + C Ctrl + D

答案 5 :(得分:-1)

使用ctrl + c,它将转到下一行。