Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 구분자(Delimiter) 변경 방법 완벽 가이드

MySQL 종료 문(구분자)이란?

MySQL에서 문장의 끝을 나타내는 기본 구분자는 세미콜론(;)입니다. 하지만 저장 프로시저나 트리거처럼 내부에 여러 개의 세미콜론이 포함된 복잡한 SQL 블록을 작성할 때는 이 구분자를 다른 기호로 변경해야 합니다.

MySQL에서 종료 문(구분자)을 변경하려면 DELIMITER 명령어를 사용합니다.

DELIMITER 원하는기호

위에서 원하는기호 부분에 사용자가 지정하고 싶은 임의의 기호를 넣으면 됩니다. 예를 들어 //, $$, ;; 등이 자주 사용됩니다. 기본값은 DELIMITER ;입니다.

구분자 변경 실습 예제

1. 테이블 생성하기

먼저 구분자를 //로 변경한 후 테이블을 생성해 보겠습니다.

mysql> DELIMITER //
mysql> create table DemoTable
    -> (
    -> Id int,
    -> Name varchar(20)
    -> )//
Query OK, 0 rows affected (0.52 sec)

위 예제에서는 구분자를 //로 설정했기 때문에, MySQL 클라이언트는 세미콜론이 아닌 //를 만나야만 문장이 끝났다고 인식합니다.

2. 데이터 삽입하기

INSERT 명령문을 사용하여 테이블에 레코드를 삽입합니다.

mysql> insert into DemoTable values(100,'Chris')//
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values(101,'David')//
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(102,'Bob')//
Query OK, 1 row affected (1.07 sec)

3. 데이터 조회하기

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select * from DemoTable //

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+------+-------+
|   Id | Name  |
+------+-------+
|  100 | Chris |
|  101 | David |
|  102 | Bob   |
+------+-------+
3 rows in set (0.00 sec)

주의 사항

작업이 끝난 후에는 반드시 구분자를 기본값인 세미콜론으로 되돌리는 것이 좋습니다.

DELIMITER ;

이렇게 하면 이후 일반적인 SQL 문장 작성 시 혼란을 방지할 수 있습니다. 구분자 변경은 주로 저장 프로시저(Stored Procedure), 함수(Function), 트리거(Trigger)를 정의할 때 유용하게 활용됩니다.