MySQL 임시테이블, 변수, RowNum 사용법

MySQL 할 일이 많지 않아 경험이 없다보니 기초적인 것들도 사용법을 몰라 검색을 하는 경우가 많네요.


오늘은 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 사용법에 대해서 알아보았습니다.
오늘 하루도 행복한 하루되세요~~~^^

댓글

이 블로그의 인기 게시물

껌 떼는 법 (완벽 제거)

학점 계산기 (백분위 환산) 완벽 정리

[엑셀] 셀에 수식 적용하는 모든 것 완벽 정리