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

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

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

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



답변

유형 \c.

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

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

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


답변

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


답변

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

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

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


답변

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


답변

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


답변

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


답변

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