MySQL 임시테이블, 변수, RowNum 사용법
MySQL 할 일이 많지 않아 경험이 없다보니 기초적인 것들도 사용법을 몰라 검색을 하는 경우가 많네요.
오늘은 MySQL 임시테이블, 변수, RowNum 사용법에 대해서 알아보겠습니다.
-- 생성
CREATE TEMPORARY TABLE menu_master_temp_table(
id int AUTO_INCREMENT not null,
primary key(id)
) engine = memory;
-- 삭제
DROP TEMPORARY TABLE menu_master_temp_table;
사용법은 MSSQL과 비슷하지만 조금 차이가 있으니 헛갈리지 마시고 사용하세요~
전역(글로벌) 번수는 어디서나 세션변수 처럼 생성 할당이 가능 합니다.
지역변수는 함수, 프로시저, 커서에서만 사용이 가능 합니다.
두 변수는 사용법이 아래와 같이 조금 다르니 주의해서 사용하세요.
1. 사용자정의 변수 선언, 초기화 방법 : SET 명령으로 변수를 선언하고 :=로 값을 변수에 대입합니다.
SET @변수명 = 값; 또는 SET @변수명 := 값; 또는 SELECT := 값;
SELECT @변수명
2. 지역변수 선업, 초기화 방법 : MSSQL에서와 같이 DECLARE로 선언하지만 @는 붙지 않습니다. 또한, BEGIN ~ END 블록에서만 사용 할 수 있으며 함수, 프로시저, 커서에서만 사용 할 수 있게 제한적이며 사용은 아래와 같습니다.
DELIMITER //
CREATE PROCEDURE sp_test(var1 INT)
BEGIN
DECLARE start INT unsigned DEFAULT 1;
DECLARE finish INT unsigned DEFAULT 10;
SELECT var1, start, finish;
SELECT * FROM places WHERE place BETWEEN start AND finish;
END; //
DELIMITER ;
CALL sp_test(5);
위에서 변수에 대해서 알아본 전역(글로벌) 변수를 아래와 같이 활용하시면 됩니다.
SELECT @ROWNUM:=@ROWNUM + 1
FROM TABLE_NAME, (SELECT @ROWNUM:=0) TMP
이상으로 MySQL 임시테이블, 변수, RowNum 사용법에 대해서 알아보았습니다.
오늘 하루도 행복한 하루되세요~~~^^
오늘은 MySQL 임시테이블, 변수, RowNum 사용법에 대해서 알아보겠습니다.
▶ 임시테이블
MySQL에서의 임시테이블은 아래와 같이 만들거나 삭제 할 수 있습니다.-- 생성
CREATE TEMPORARY TABLE menu_master_temp_table(
id int AUTO_INCREMENT not null,
primary key(id)
) engine = memory;
-- 삭제
DROP TEMPORARY TABLE menu_master_temp_table;
사용법은 MSSQL과 비슷하지만 조금 차이가 있으니 헛갈리지 마시고 사용하세요~
▶ 변수
MySQL에서의 변수는 글로벌(전역) 변수인 사용자정의 변수와 지역변수로 나눌수 있습니다.전역(글로벌) 번수는 어디서나 세션변수 처럼 생성 할당이 가능 합니다.
지역변수는 함수, 프로시저, 커서에서만 사용이 가능 합니다.
두 변수는 사용법이 아래와 같이 조금 다르니 주의해서 사용하세요.
1. 사용자정의 변수 선언, 초기화 방법 : SET 명령으로 변수를 선언하고 :=로 값을 변수에 대입합니다.
SET @변수명 = 값; 또는 SET @변수명 := 값; 또는 SELECT := 값;
SELECT @변수명
2. 지역변수 선업, 초기화 방법 : MSSQL에서와 같이 DECLARE로 선언하지만 @는 붙지 않습니다. 또한, BEGIN ~ END 블록에서만 사용 할 수 있으며 함수, 프로시저, 커서에서만 사용 할 수 있게 제한적이며 사용은 아래와 같습니다.
DELIMITER //
CREATE PROCEDURE sp_test(var1 INT)
BEGIN
DECLARE start INT unsigned DEFAULT 1;
DECLARE finish INT unsigned DEFAULT 10;
SELECT var1, start, finish;
SELECT * FROM places WHERE place BETWEEN start AND finish;
END; //
DELIMITER ;
CALL sp_test(5);
▶ RowNum
MySQL에서의 RowNum은 함수가 따로 있는것이 아닙니다. 그럼 어떻게 할까요?위에서 변수에 대해서 알아본 전역(글로벌) 변수를 아래와 같이 활용하시면 됩니다.
SELECT @ROWNUM:=@ROWNUM + 1
FROM TABLE_NAME, (SELECT @ROWNUM:=0) TMP
이상으로 MySQL 임시테이블, 변수, RowNum 사용법에 대해서 알아보았습니다.
오늘 하루도 행복한 하루되세요~~~^^
댓글
댓글 쓰기