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

MySQL 변수 선언 방법: SELECT와 SET 명령어로 값 할당하기

MySQL에서 변수 선언하는 방법

MySQL에서는 SELECT 명령어와 SET 명령어를 활용해 변수를 선언하고 값을 할당할 수 있습니다. 변수를 선언할 때는 이름 앞에 반드시 기호 '@'를 접두사로 붙여야 합니다.

1. 변수 선언 기본 문법

SELECT @yourVariableName;

여기서 '@' 기호는 해당 변수가 사용자 정의 변수(user-defined variable)임을 나타냅니다. 접두사가 없으면 지역 변수(local variable)를 의미하며, '@@'처럼 두 개를 붙이면 서버 시스템 변수(server system variable)를 뜻합니다. 이 글에서는 사용자 정의 변수를 중심으로 살펴보겠습니다.

2. SET으로 값 할당하기

선언한 변수에 값을 할당하려면 SET 명령어를 사용합니다.

SET @yourVariableName=value;

참고: SELECT 문으로 변수를 처음 조회하면 값이 NULL로 표시되며, SET 명령어로 값을 할당한 후에는 지정한 값이 저장됩니다.

3. 실습 예제

먼저 변수를 선언하고 현재 값을 확인해 보겠습니다.

mysql> SELECT @engine;

쿼리를 실행하면 변수는 초기값으로 NULL을 가집니다. 실행 결과는 다음과 같습니다.

+---------+
| @engine |
+---------+
| NULL    |
+---------+
1 row in set (0.00 sec)

이제 SET 명령어로 변수에 값을 할당합니다.

mysql> SET @engine='start';
Query OK, 0 rows affected (0.00 sec)

값이 제대로 할당되었는지 SELECT 문으로 확인해 보겠습니다.

mysql> SELECT @engine;

쿼리 실행 후 업데이트된 값이 출력됩니다.

+---------+
| @engine |
+---------+
| start   |
+---------+
1 row in set (0.00 sec)

4. 변수 값 변경하기

같은 방식으로 기존 변수의 값도 언제든 변경할 수 있습니다.

mysql> SET @engine='close';
Query OK, 0 rows affected (0.00 sec)

SELECT 명령어로 변경된 결과를 확인합니다.

mysql> SELECT @engine;

실행 결과는 아래와 같습니다.

+---------+
| @engine |
+---------+
| close   |
+---------+
1 row in set (0.00 sec)

출력 결과에서 확인할 수 있듯이, @engine 변수의 값이 'close'로 성공적으로 변경되었습니다.

핵심 정리

  • @변수명: 사용자 정의 변수(세션 단위로 유지됨)
  • @@변수명: 서버 시스템 변수
  • 접두사 없음: 저장 프로시저 내부 등에서 사용되는 지역 변수
  • 선언 직후 초기값은 NULL이며, SET 명령어로 값을 자유롭게 할당·변경 가능