如何退出 MySQL 命令提示符?

如何退出 MySQL 命令提示符?

我已经安装了 MySQL。现在我卡在 MySQL 命令提示符中。我像这样运行 MySQL:

C:\>mysql.exe
mysql>

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

mysql> /version
    ->

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

  • exit

  • CtrlC

  • CtrlD

  • quit

  • Ctrl\

  • CtrlZ

  • bye

如何退出 MySQL 终端到默认终端?

答案1

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

注意复制和粘贴来自文字处理包的字符串查询 - 引号可能已被“智能引号”替换,这会弄乱您的查询。

如果您输入了未终止的查询,则它不会运行,这就是为什么输入 exit 不起作用的原因 - MySQL 认为您仍在查询中间。命令提示符会发生变化以显示终止查询所需的输入。例如,可能需要引号或双引号。这很强大,命令提示符很有用,但我发现它很令人困惑,直到我阅读了此线程的答案和评论。

点击此处阅读规范

“顶级”提示是:

mysql>

如果看到此消息,则可以输入一个命令,以 ; 结尾,然后按回车键。

如果你看到这样的提示:

'>
">
->

然后 MySQL 等待您用引号终止字符串或用分号终止查询。

下面说明了如何告诉 MySQL 取消混乱的未终止查询并将您带回到主提示符:

\c

我认为这比终止并运行意外查询更安全。此后,您应该返回到 > 提示符并可以使用以下命令退出:

exit

答案2

要添加其他答案,您可以简单地使用分号结束当前无效查询:

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>

当然,这两种选择都假设你没有开场引语。如果有,你必须先用结尾引语来结束它。

答案3

为什么在Windows中ctrl-c不能退出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 不会停止程序,无论何种模式?我们可能永远不知道。Bazinga。

答案4

Ctrl你可以尝试使用+ Shift+来退出D

相关内容