2013-08-08 21:39:05 +0000 2013-08-08 21:39:05 +0000
39
39

如何退出MySQL命令提示符?

我已经安装了MySQL。现在我卡在了MySQL命令提示符里面。我是这样运行MySQL的。

C:\>mysql.exe
mysql>

然后我输入了一些无效的命令,比如:

mysql> /version
    ->

无论我输入什么,我都无法退出MySQL命令行/终端。例如

  • exit

  • CtrlC

  • CtrlD

  • quit

  • Ctrl\

  • CtrlZ

  • bye

我该如何将MySQL终端退出到默认终端?

答案 (5)

31
31
31
2015-01-10 14:13:49 +0000

为了补充另一个答案,你可以简单地使用分号结束当前无效的查询。

mysql> /version
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax.........
mysql> exit
Bye

c:\mysql\bin>

或者使用\G (这应该是为了让行垂直显示):

mysql> /version
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax.........
mysql> exit
Bye

c:\mysql\bin>

当然,这两个选项都假定你没有开头引号。如果您有,您必须先用结束引号来结束它。

20
20
20
2013-08-08 21:40:45 +0000

为什么在Windows中ctrl-c不能退出mysql输入模式?

因为你已经告诉MySQL将你的退出命令解释为有效输入。

让MySQL终端难以理解的是,MySQL终端有单引号、双引号和普通模式的不同模式。

所以,要想退出mysql输入模式,你必须要做这些步骤。

1.退出双引号模式。 2. 脱离单引号模式。 3. 退出mysql模式。 4. 退出mysql回到默认终端。

最基本的例子:

mysql> /version
    ->
    ->
    ->
    -> \c
mysql> exit
Bye

C:\>

在上面的例子中,你从来没有离开过默认模式,所以退出命令可以正常工作。

例子2(这就是你被绊住的地方).

mysql> hello
    ->
    -> look dash is on the left"
    "> In doublequote mode now, because doublequote above
    "> adding another doublequote breaks you out: "
    -> look a single quote ' here
    '> in single quote mode now.
    '> get out, in, then out again with three singlequotes: '''
    -> now it will listen to your escape code: \c
mysql> exit
Bye

C:\>

当你处于单引号模式或双引号模式时,没有转义序列被尊重。在这些模式下,即使是Ctrl-C和Ctrl-D也会被忽略。

在26个宇宙中,Ctrl-C在哪一个宇宙中不会停止程序而不管模式?我们可能永远不会知道。巴津加。

1
1
1
2018-12-18 12:37:01 +0000

SQL支持以多行方式输入查询。只有当你输入分号;时,查询才会被执行。你还需要终止查询中的任何字符串。

如果你输入了一个未结尾的查询,它就不会运行,这就是为什么键入exit不起作用的原因–MySQL认为你还在查询中。命令提示符会改变,以显示需要什么输入才能终止查询。例如,可能需要一个引号或双引号。这很强大,命令提示符很有帮助,但我发现它很混乱,直到我读了这个帖子上的答案和评论。 在这里阅读规范

“顶层 "提示符是。

mysql>

如果你看到这个,那么你可以输入一个命令,以 ; 结束,然后按回车键。

如果你看到这样的提示。

'>
">
->

那么MySQL正在等待你用引号结束一个字符串 或者用分号结束一个查询。

下面是如何告诉MySQL取消你那乱七八糟的未结束查询,让你回到主提示。

\c

我认为这比终止并运行你的非预期查询要安全得多。在这之后,你应该又回到了>提示,并且可以退出。

exit
1
1
1
2019-01-31 16:42:07 +0000

\q对我来说是个不错的选择。使用Ubuntu终端。

0
0
0
2018-10-30 12:37:35 +0000

你可以尝试使用Ctrl+Shift+D来逃避。