如何从命令行清除未执行的MySQL查询?

时间:2012-01-10 22:28:45

标签: mysql command-line

假设您正在将命令行查询键入MySQL数据库,您需要取消并重新开始。从bash shell中你可以输入ctrl-c并获得一个新提示。在MySQL中,ctrl-c将退出客户端并返回shell。

例如,我输入了一个长而复杂的SELECT语句,但我还没有回复。我意识到我不想发送命令,但我希望在屏幕上显示命令,以便我可以将它用作参考。我想在不退出MySQL的情况下纾困。有什么想法吗?

关键点:the command hasn't yet been executed

7 个答案:

答案 0 :(得分:95)

输入\c

启动MySQL时,您可能会看到以下消息:

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

它所指的“缓冲区”是命令/查询缓冲区。

答案 1 :(得分:40)

首先输入 Ctrl + a ,然后 Ctrl + k

答案 2 :(得分:15)

使用以下快捷方式之一删除当前行:

  • 键入 Ctrl + u 删除从光标返回到行开头的所有内容
  • 键入 Ctrl + k 删除从光标到行尾的所有内容

否则如前所示,在当前行的末尾键入 \ c clear命令的快捷方式),然后按 Enter

答案 3 :(得分:1)

在mysql 5.7中,此问题已解决。现在,您可以执行ctrl-c退出SQL命令行。

答案 4 :(得分:0)

取决于你的shell的键绑定。您可以按回家或者使用的任何键序列返回到开头,使用X作为查询的前缀或者使语法无效的内容,点击回车并且您很好

答案 5 :(得分:0)

如果您来到这里希望在Transact-SQL中找到相同的答案,请输入LEFT(D3, FIND({"SE","NE","SW","NW"},D3)+1)

答案 6 :(得分:-1)

如果这是一个很长的命令,我通常会箭头指向命令的开头并添加乱码,因此它不会执行,但我可以向上箭头并获得访问权限而无需重新输入。否则,如果您不想执行它,只需点击向上箭头,它就会滚动浏览您的命令历史记录。找一个简短的命令,退格,然后键入你想要的任何内容。