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

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

例如,我有一个很长的,复杂的SELECT语句input,但我还没有返回。 我意识到,我不想发送命令,但我想要在屏幕上的命令,所以我可以用它作为参考。 我想退出MySQL而不是退出。 有任何想法吗?

要点: 该命令尚未执行 。

键入\c

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

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

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

首先键入Ctrl + a ,然后按Ctrl + k

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

  • 键入Ctrl + u将光标全部删除回行开始
  • 键入Ctrl + k可以删除从光标到行尾的所有内容

否则,如已经指出的那样,在当前行的末尾input\ cclear命令的快捷方式),然后按Enter键

取决于你的shell的键绑定。 你可以按回家,或者使用什么按键顺序来回到起始点,用X为前缀查询,或者是什么使语法无效,敲回车,你很好

如果您希望在Transact-SQL中find相同的答案,请键入RESET

如果是长命令,我通常会跳到命令的开头,并添加乱码,所以它不会执行,但是我可以向上箭头并获得访问权限,而无需重新input。 否则,如果你不想执行它,只需点击向上的箭头,它应该滚动你的命令历史。 find一个简短的命令,退格键,然后键入任何你想要的。