• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 1. 함수와 연산자 참조
    2. 식 평가 형식 변환
    3. 연산자
    1. 연산자의 우선 순위
    2. 비교 함수와 연산자
    3. 논리 연산자
    4. 할당 연산자
    4. 제어 흐름 함수
    5. 문자열 함수
    6. 수치 함수와 연산자
    7. 날짜 및 시간 함수
    8. MySQL에서 사용되는 달력
    9. Full-Text 검색 기능
    10. 캐스트 함수와 연산자
    11. XML 함수
    12. 비트 함수
    13. 암호화 함수와 압축 함수
    14. 정보 함수
    15. 공간 분석 함수
    16. 글로벌 트랜잭션 ID와 함께 사용되는 함수
    17. MySQL Enterprise Encryption 기능
    18. 기타 함수
    19. GROUP BY 절에서 사용되는 함수와 수식
    20. 정밀 계산
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

12.3.4 할당 연산자

표 12.5 할당 연산자

이름 설명
= ( SET 문의 일부 또는 UPDATE 문 SET 절의 일부로서) 값을 할당합니다
:= 값을 할당합니다

  • :=

    할당 연산자. 연산자의 왼쪽에있는 사용자 변수가 오른쪽에있는 값에 대입됩니다. 오른쪽의 값은 리터럴 값, 값을 포함하는 다른 변수 또는 쿼리의 결과를 포함한 스칼라 값을 생성하는 임의의 유효한 식 (값이 스칼라 값의 경우) 일 가능성이 있습니다. 같은 SET 문에서 여러 임무를 수행 할 수 있습니다. 같은 문에서 여러 임무를 수행 할 수 있습니다.

    = 와 달리 := 연산자는 비교 연산자로 해석되지 않습니다. 즉, ( SET 문뿐만 아니라) 유효한 SQL 문 := 를 사용하면 변수에 값을 할당 할 수 있습니다.

     mysql> SELECT @var1, @var2;
             -> NULL, NULL
     mysql> SELECT @var1 := 1, @var2;
             -> 1, NULL
     mysql> SELECT @var1, @var2;
             -> 1, NULL
     mysql> SELECT @var1, @var2 := @var1;
             -> 1 1
     mysql> SELECT @var1, @var2;
             -> 1 1
    
     mysql> SELECT @var1:=COUNT(*) FROM t1;
             -> 4
     mysql> SELECT @var1;
             -> 4
    

    다음과 같이 SELECT 이외의 문 ( UPDATE 등)하지만 := 를 사용하여 값을 할당 할 수 있습니다.

     mysql> SELECT @var1;
             -> 4
     mysql> SELECT * FROM t1;
             -> 1, 3, 5, 7
    
     mysql> UPDATE t1 SET c1 = 2 WHERE c1 = @var1:= 1;
     Query OK, 1 row affected (0.00 sec)
     Rows matched : 1 Changed : 1 Warnings : 0
    
     mysql> SELECT @var1;
             -> 1
     mysql> SELECT * FROM t1;
             -> 2, 3, 5, 7
    

    := 연산자를 사용하면 단일 SQL 문에서 같은 변수 값 설정 및 읽기를 모두 할 수 있지만 이것은 권장되지 않습니다. 섹션 9.4 "사용자 정의 변수" 에서는이 문제를 해결해야 이유에 대해 설명되어 있습니다.

  • =

    이 연산자는 두 개의 절에서 설명하는 두 가지 경우에 값 할당을 수행하는 데 사용됩니다.

    SET 문은 = 연산자의 왼쪽에있는 사용자 변수를 오른쪽에있는 값에 대입 할당 연산자로 처리됩니다. (즉, SET 문에서 사용되면 = 는 := 처럼 처리됩니다.) 오른쪽의 값은 리터럴 값, 값을 포함하는 다른 변수 또는 쿼리의 결과를 포함한 스칼라 값을 생성하는 임의의 유효한 식 (값이 스칼라 값의 경우) 일 가능성이 있습니다. 같은 SET 문에서 여러 임무를 수행 할 수 있습니다.

    UPDATE 문 SET 절은 = 은 할당 연산자 역할도합니다. 그러나이 경우 UPDATE 의 일부인 WHERE 조건에 일치하는 경우, 연산자의 왼쪽에 지정된 컬럼이 오른쪽에 지정된 값으로 간주됩니다. UPDATE 문 같은 SET 절에서 여러 임무를 수행 할 수 있습니다.

    다른 맥락에서, = 는 비교 연산자 로 처리됩니다.

     mysql> SELECT @var1, @var2;
             -> NULL, NULL
     mysql> SELECT @var1 := 1, @var2;
             -> 1, NULL
     mysql> SELECT @var1, @var2;
             -> 1, NULL
     mysql> SELECT @var1, @var2 := @var1;
             -> 1 1
     mysql> SELECT @var1, @var2;
             -> 1 1
    

    자세한 내용은 섹션 13.7.4 "SET 구문" , 섹션 13.2.11 "UPDATE 구문" 및 섹션 13.2.10 "서브 쿼리 구문" 을 참조하십시오.


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved