MySQL은 종결 세미콜론(;)을 만나야 비로소 하나의 명령문이 끝났다고 판단합니다. 따라서 하나의 SQL 문장을 여러 줄에 나누어 작성하더라도 문제없이 처리됩니다.
프롬프트 변화로 알아보는 명령문 입력 상태
명령문을 여러 줄로 나누어 입력하는 경우를 살펴보겠습니다. 첫 번째 줄을 작성하고 Enter 키를 누르면 프롬프트가 mysql>에서 ->로 변경됩니다. 이는 아직 완전한 명령문을 받지 못했으며, 나머지 부분을 기다리고 있다는 의미입니다.
이후 사용자가 계속해서 문장을 입력하다가 마지막에 세미콜론(;)을 입력하면, 그제야 MySQL은 명령문이 완성되었다고 인식하고 이를 실행합니다.
예시
아래 예시는 SELECT 쿼리를 네 줄에 걸쳐 작성한 경우입니다. 각 줄이 끝날 때마다 프롬프트가 ->로 표시되다가, 마지막 줄에서 세미콜론을 입력한 후에야 쿼리가 실행되어 결과가 출력됩니다.
mysql> Select Id, Name
-> From
-> Student_info
-> ;
+------+---------+
| Id | Name |
+------+---------+
| 101 | YashPal |
| 105 | Gaurav |
| 125 | Raman |
| 130 | Ram |
| 132 | Shyam |
| 133 | Mohan |
| 150 | Saurabh |
+------+---------+
7 rows in set (0.07 sec)정리
- MySQL은 줄바꿈이 아니라 세미콜론(;)을 기준으로 명령문의 끝을 판단합니다.
- 명령문이 완성되지 않은 상태에서는 프롬프트가
->로 표시됩니다. - 세미콜론이 입력되는 순간 MySQL이 해당 명령문을 실행합니다.