MySQL에서도 변수를 사용할 수 있습니다.
아래와 같이 SET
을 통해서 변수를 선언할 수 있습니다.
MySQL에서 변수는 주로 전역으로 사용하는데 변수이름 앞에 @를 붙이면 해당 변수를 전역으로 선언합니다.
SET @변수이름 = 변수의 값; -- 변수의 선언 및 값 대입
SELECT @변수이름 ; -- 변수의 값 출력
DECLARE문을 이용해서 지역변수를 생성할 수도 있습니다. 주로 저장 프로시저의 매개변수로 사용합니다. 또한 변수의 범위는 변수가 선언된 곳의 BEGIN~END 블록으로 제한됩니다.
DECLARE 변수이름 변수타입; -- 변수 선언
SET 변수이름 = 변수의 값; -- 값 대입
DELIMITER $$
CREATE PROCEDURE DF()
BEGIN
DECLARE age INT DEFAULT 23;
SELECT age;
SELECT * FROM member WHERE member.age = age;
END $$
DELIMITER;
📌 참고
DECLARE 변수이름 변수타입 DEFAULT 값;
형태로 변수의 DEFAULT 값을 지정해 줄 수 있습니다.
저장하는 값에 의해 자료형이 정해집니다.
Integer, Decimal, Float, Binary 그리고 문자열 Type만 취급할 수 있습니다. 변수를 초기화 하지 않은 경우 값은 NULL 값이 들어가며 이 경우 자료형은 String 타입이 됩니다.