MySQL에서 저장 프로시저나 함수를 작성할 때 구분 기호(Delimiter)는 매우 중요한 역할을 합니다. 기본 구분 기호는 세미콜론(;)이지만, 상황에 따라 이를 다른 문자로 변경해야 할 필요가 있습니다. 이 글에서는 현재 설정된 구분 기호를 확인하는 방법과 이를 변경하는 방법을 단계별로 알아보겠습니다.
1. 현재 구분 기호 확인하기
MySQL에서 현재 구분 기호를 포함한 서버 상태 정보를 확인하려면 \s 명령어(또는 status)를 사용합니다.
mysql> \s
위 명령어를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe Ver 8.0.12 for Win64 on x86_64 (MySQL Community Server - GPL) Connection id: 19 Current database: sample Current user: root@localhost SSL: Cipher in use is DHE-RSA-AES128-GCM-SHA256 Using delimiter: ; Server version: 8.0.12 MySQL Community Server - GPL Protocol version: 10 Connection: localhost via TCP/IP Insert id: 11 Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 9 hours 50 min 52 sec Threads: 3 Questions: 135 Slow queries: 0 Opens: 272 Flush tables: 2 Open tables: 247 Queries per second avg: 0.003
출력 결과 중 'Using delimiter: ;' 항목이 바로 현재 사용 중인 구분 기호를 나타냅니다. 위 예제에서는 기본값인 세미콜론(;)이 설정되어 있는 것을 볼 수 있습니다.
2. 구분 기호 변경하기
구분 기호를 변경하려면 DELIMITER 명령어를 사용합니다. 예를 들어 구분 기호를 슬래시 두 개(//)로 변경하고 싶다면 다음과 같이 입력합니다.
mysql> DELIMITER //
3. 변경된 구분 기호 확인하기
구분 기호를 변경한 후, 다시 \s 명령어를 실행하여 변경 사항이 제대로 적용되었는지 확인할 수 있습니다.
mysql> \s
실행 결과는 다음과 같습니다.
C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe Ver 8.0.12 for Win64 on x86_64 (MySQL Community Server - GPL) Connection id: 19 Current database: sample Current user: root@localhost SSL: Cipher in use is DHE-RSA-AES128-GCM-SHA256 Using delimiter: // Server version: 8.0.12 MySQL Community Server - GPL Protocol version: 10 Connection: localhost via TCP/IP Insert id: 11 Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 9 hours 54 min 10 sec Threads: 3 Questions: 138 Slow queries: 0 Opens: 272 Flush tables: 2 Open tables: 247 Queries per second avg: 0.003
출력 결과에서 'Using delimiter: //'로 표시된 것을 확인할 수 있습니다. 이처럼 구분 기호가 성공적으로 변경되었음을 알 수 있습니다.
정리
- 현재 구분 기호 확인:
\s또는status명령어 실행 후 'Using delimiter' 항목 확인 - 구분 기호 변경:
DELIMITER //와 같이 원하는 문자로 지정
참고로 구분 기호 변경은 주로 저장 프로시저(Stored Procedure)나 트리거(Trigger)를 생성할 때 프로시저 내부의 세미콜론과 충돌을 방지하기 위해 사용됩니다. 작업이 끝난 후에는 반드시 DELIMITER ;로 기본값을 복원하는 것이 좋습니다.