Как очистить неисполненный запрос MySQL из командной строки?


Предположим, вы вводите запрос командной строки в базу данных MySQL, и вам нужно отменить и начать все сначала. Из оболочки bash вы можете просто ввести ctrl-c и получить новое приглашение. В MySQL, сочетание клавиш CTRL-C может выйти из клиента, и вы вернетесь в оболочку.

например, у меня есть длинный, сложный оператор SELECT, но я еще не нажал return. Я понимаю, что не хочу отправлять команду, но я хочу иметь команду на экране, чтобы я мог использовать ее в качестве ссылки. Я хотел бы выручать, не выходя из MySQL. Есть идеи?

ключевой момент: команда еще не выполнена.

6 60

6 ответов:

тип \c.

при запуске MySQL, вы, вероятно, увидите это сообщение:

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

"буфер", на который он ссылается, является буфером команд/запросов.

первый тип Ctrl+a, потом Ctrl+k.

для удаления текущей строки используйте один из следующих ярлыков:

  • тип Ctrl + u чтобы удалить все из курсора обратно в начало строки
  • тип Ctrl + k удалить все от курсора до конца строки

в противном случае, как уже указано тип \c в конце текущей строки (ярлык для clear command), а затем нажмите введите.

зависит от привязки ключей вашей оболочки. Вы можете нажать home или какую-либо последовательность клавиш, которую вы используете, чтобы вернуться к началу, префикс вашего запроса с помощью X или что-либо, чтобы сделать его синтаксически недействительным, нажмите enter, и Вы хороши

Если вы пришли сюда в надежде найти тот же ответ в Transact-SQL, введите RESET

Если это длинная команда, я обычно стреляю в начало команды и добавляю тарабарщину, поэтому она не будет выполняться, но я могу использовать стрелку вверх и получить доступ без необходимости повторно вводить ее. В противном случае, если вы хотите не выполнять его, просто нажмите стрелку вверх, и он должен прокрутить вас через историю команд. Найдите короткую команду, backspace, а затем введите все, что вы хотите.