Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 쿼리 결과를 변수에 할당하는 방법

MySQL에서는 @변수명 형식의 사용자 정의 변수를 사용하여 쿼리 결과를 변수에 저장할 수 있습니다. 이번 글에서는 예제 테이블을 만들고, SELECT 문의 결과를 변수에 할당하는 과정을 단계별로 살펴보겠습니다.

1. 예제 테이블 생성

먼저 테스트에 사용할 테이블을 생성합니다.

mysql> create table DemoTable1864
    (
    Id int,
    FirstName varchar(20),
    LastName varchar(20)
    );
Query OK, 0 rows affected (0.00 sec)

2. 샘플 데이터 삽입

INSERT 문을 사용하여 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable1864 values(101,'Chris','Brown');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1864 values(102,'David','Miller');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1864 values(103,'Adam','Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1864 values(104,'John','Doe');
Query OK, 1 row affected (0.00 sec)

3. 전체 데이터 조회

SELECT 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select * from DemoTable1864;

실행 결과는 다음과 같습니다.

+------+-----------+----------+
| Id   | FirstName | LastName |
+------+-----------+----------+
|  101 | Chris     |     Brown |
|  102 | David     |    Miller |
|  103 | Adam      |    Smith |
|  104 | John      |      Doe |
+------+-----------+----------+
4 rows in set (0.00 sec)

4. 쿼리 결과를 변수에 할당하기

이제 할당 연산자(:=)를 사용하여 쿼리 결과를 사용자 정의 변수에 저장해 보겠습니다. 아래 쿼리는 Id가 103인 행의 FirstName과 LastName 값을 각각 @fName, @lName 변수에 할당합니다.

mysql> select @fName:=FirstName, @lName:=LastName
    from DemoTable1864
    where Id=103;

실행 결과는 다음과 같습니다.

+-------------------+------------------+
| @fName:=FirstName | @lName:=LastName |
+-------------------+------------------+
| Adam              |            Smith |
+-------------------+------------------+
1 row in set (0.00 sec)

5. 변수 값 확인하기

할당된 변수는 이후 별도의 SELECT 문으로 언제든 조회할 수 있습니다.

mysql> select @fName, @lName;

이처럼 MySQL에서는 @변수명 := 값 형식을 활용하면 쿼리 결과를 세션 내내 유지되는 사용자 정의 변수에 손쉽게 저장하고 재사용할 수 있습니다.