SQL#사용자변수

codataffee·2024년 7월 9일
0

SQL

목록 보기
18/19
post-thumbnail

개요


📌 사용자 변수 @


1. 사용자 변수 ?

MySQL에서 사용자 변수는 세션 동안 값을 저장하고 조작하는 데 사용된다.
변수는 @ 기호로 시작하며, 세션 간 공유되지 않고 각 세션 내에서만 유지 !


2. 변수 초기화

사용자 변수는 SET 문을 통해 초기화할 수 있다.
초기화 시 데이터 타입을 명시할 필요는 없다.

# 기본 문법
SET @var_name(변수 이름) := value()

# 예시
SET @counter := 10

3. 변수 사용

변수는 SELECT, UPDATE, DELETE 등의 SQL 문에서 사용할 수 있다.

# 기본 문법
SELECT @var_name

# 예시
SELECT @counter

4. 변수 값 변경

변수의 값은 SQL 문 내에서 변경될 수 있다.
(파이썬에서 변수 지정에 == 기호를 사용하듯이, := 를 통해 변수를 지정해준다.)
주로 계산이나 조건문 내에서 유용하게 사용 !

SET @counter := @counter + 1

5. 변수 사용 예

  • 패턴 생성
SET @row_number := 20

SELECT REPEAT('*', @row_number := @row_number - 1 ) str
FROM tables
WHERE @row_number > 0
LIMIT 20
  • 누적 합 계산
SET @sum := 0

SELECT id
	 , value
     , @sum := @sum + value cumulative_sum
FROM tables
  • 단순 계산
SET @a := 10
SET @b := 20
SELECT @a + @b 
# 결과 : 30
  • 조건문 사용
SET @count := 0

SELECT id
	 , name
     , @count := @count + 1 row_number
FROM employees

6. 참고 사항

  • 세션 단위 유지 :
    사용자 변수는 세션 단위로 유지되며, 세션이 종료되면 변수도 사라진다.

  • 초기화 필수 :
    변수를 사용하기 전에 반드시 초기화해야 한다.
    초기화되지 않은 변수를 사용하면 NULL이 반환될 수 있음.

  • 동시성 문제 없음 :
    변수는 각 세션 내에서 독립적으로 관리되므로,
    여러 세션에서 동시에 작업할 때 변수 충돌 문제는 발생하지 않는다.

  • 다양한 타입 지원 :
    사용자 변수는 숫자, 문자열, 날짜 등 다양한 데이터 타입을 저장할 수 있다.
    MySQL은 변수의 타입을 자동으로 인식함.

profile
커피 좋아하는 데이터 꿈나무

0개의 댓글

관련 채용 정보