sql문에서 변수를 크게 3가지로 나눌 수 있다.
1. 사용자 정의 변수 2. 지역 변수 3.시스템 변수 (아직 사용자 정의 변수만 공부함.)
[Mysql]
사용자 정의 변수
: Mysql워크벤치가 종료되면 변수 선언이 없어짐. 변수는 임시로 사용되는 될 뿐임.
1. 기본 형태
SET @변수명 = 변수값; -- 변수 선업
SELECT @변수명; -- 변수 사용
2. 예제
-- 변수 선언
set @var1 = 5;
set @var2 = 4.25;
-- 변수 사용
select @var1 -- 5;
select @var1 + @var2; -- 9.250000000000000000000000000000;
-- 변수 선언
set @txt = '가수 이름은? : ';
set @height = 165;
-- 변수 사용
select @txt,mem_name from member where height > @height;
3. LIMIT에서는 변수 사용 불가
set @count = 3;
select mem_name from member limit @count; -- limit에는 변수를 사용할 수 없음
-> 해결 : Prepare, Execute 사용
4. Prepare, Execute
실행할 sql문을 저장해놓고 나중에 실행할 수 있음.
이 구분을 사용하면 limit에서 변수 사용 가능함.
prepare any_name from 'select mem_name from member limit ?'; -- 실행시킬 sql문을 저장해 둠. 이떄 나중에 받을 값을 ?로 표시
execute any_name using @count; -- 저장된 select문을 실행시킴, using으로 ?에 변수값을 대입해줌.
'DB > SQL' 카테고리의 다른 글
[SQL]프로그래머스 - 년, 월, 성별 별 상품 구매 회원 수 (0) | 2023.06.09 |
---|---|
[SQL]프로그래머스 - 우유와 요거트가 담긴 장바구니 (0) | 2023.06.08 |
[SQL] 데이터 형식, 형변환 (mysql) (0) | 2023.05.31 |
[SQL]프로그래머스 - 자동차 평균 대여 기간 구하기 (0) | 2023.05.31 |
[SQL] 행 입력, 수정, 삭제 CRUD (0) | 2023.05.30 |