명령 줄에서 실행되지 않은 MySQL 쿼리를 어떻게 지우나요?


88

MySQL 데이터베이스에 명령 줄 쿼리를 입력하고 취소하고 다시 시작해야한다고 가정합니다. bash 쉘에서 ctrl-c를 입력하면 새 프롬프트가 표시됩니다. MySQL에서 ctrl-c는 클라이언트를 종료하고 셸로 돌아갑니다.

예를 들어, 길고 복잡한 SELECT 문을 입력했지만 아직 return을 누르지 않았습니다. 명령을 보내고 싶지는 않지만 명령을 화면에 표시하여 참조로 사용할 수 있도록하고 싶습니다. MySQL을 종료하지 않고 구제를하고 싶습니다. 어떤 아이디어?

요점 : 명령이 아직 실행되지 않았습니다 .


10
참고로 mysql 5.7에서는이 문제가 해결되었습니다. 이제 ctrl-c를 사용하여이를 정확하게 수행 할 수 있습니다.
dkniffin 2014 년

LAMP 스택은 너무 오래되어 널리 사용됩니다. 사람들이 하루 종일 마주 칠 수있는 것들을 고치는 데 그렇게 오래 걸린다는 사실이 저를 당혹스럽게합니다.
ahnbizcad

@dkniffin : 이것이 오래된 질문이라는 것을 알고 있지만 여전히 검색에서 1 위를 차지하고 있습니다. 지속적인 트래픽을 돕기 위해 귀하의 의견을 답변 (이미 답변)으로 추가 할 수 있습니까?
모자

확실히 @hat, 나는 대답으로 추가
dkniffin

답변:


114

유형 \c.

MySQL을 시작할 때 다음 메시지가 표시 될 수 있습니다.

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

참조하는 "버퍼"는 명령 / 쿼리 버퍼입니다.


7
그냥 작은 점 :이 작업을 수행해야 하기 전에 어떤 세미콜론 종결.
wulftone 2016 년

좋은 점은 실제로 명확 하지 않다는 것입니다. 입력 한 내용은 계속 표시됩니다. (솔직히 짐작는 않았을 내가 해본 적이 이유 메시지에서.)
마이클 Scheper에게

43

먼저 Ctrl+를 입력 a한 다음 Ctrl+를 입력 k합니다.


4
그러나 OP는 "명령을 화면에 표시하여 참조로 사용할 수 있도록하고 싶습니다."라고 지정했습니다.
ruakh

버전 5.5.40-0에서 작동합니다.
2015 년

1
5.6.28 @Ubuntu에서는 작동하지 않습니다. 이것은 현재 화면 창을 죽이는 시퀀스입니다.
Piohen

1
글쎄, 당신은 항상이 시퀀스를 이것 저것의 지름길로 설정할 수 있습니다. emacs 및 bash의 기본 시퀀스입니다.
까지

1
물론 가장 일반적인 사용 사례에서는 작동하지 않습니다. 세미콜론을 잊고 Enter 키를 눌렀으며 불필요한 두 줄로 내 기록을 복잡하게 만드는 대신 명령을 올바르게 다시 작성하고 싶습니다.
quazgar

18

다음 바로 가기 중 하나를 사용하여 현재 줄을 삭제합니다.

  • Ctrl+ u를 입력 하여 커서에서 줄 시작까지 모든 것을 삭제합니다.
  • Ctrl+ k를 입력 하여 커서에서 줄 끝까지 모든 항목을 삭제합니다.

그렇지 않으면 이미 표시된대로 \c현재 줄의 끝에 입력 clear한 다음 (명령 바로 가기 ) 키를 누릅니다 Enter.


0

긴 명령 인 경우 일반적으로 명령의 시작 부분으로 화살표를 이동하고 횡설수설을 추가하므로 실행되지 않지만 다시 입력하지 않고도 위쪽 화살표를 사용하여 액세스 할 수 있습니다. 그렇지 않으면 실행하지 않으려면 위쪽 화살표를 누르면 명령 기록을 스크롤해야합니다. 짧은 명령, 백 스페이스를 찾은 다음 원하는 것을 입력하십시오.


0

셸의 키 바인딩에 따라 다릅니다. 홈 또는 키 시퀀스를 눌러 처음으로 돌아가서 쿼리 앞에 X를 붙이거나 구문 상 유효하지 않게 만들려면 Enter 키를 누르면됩니다.


0

Transact-SQL에서 동일한 답변을 찾으려고 여기에 온 경우 다음을 입력하십시오. RESET


0

mysql 5.7에서는이 문제가 해결되었습니다. 이제 ctrl-cSQL 명령 줄을 종료 할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.