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

MySQL에서 AND 연산자를 활용한 UPDATE 쿼리 수행 방법

MySQL에서 AND 연산자로 UPDATE 수행하기

MySQL에서는 UPDATE 문과 함께 AND 연산자를 활용하여 조건에 따라 컬럼 값을 동적으로 설정할 수 있습니다. 이번 글에서는 예제를 통해 AND 연산자를 사용한 업데이트 방법을 단계별로 살펴보겠습니다.

1. 테이블 생성

먼저 데모용 테이블을 생성합니다.

mysql> create table DemoTable613 (Id int,Age int,isMarried tinyint(1));
Query OK, 0 rows affected (0.54 sec)

2. 레코드 삽입

insert 명령을 사용하여 테이블에 샘플 데이터를 입력합니다.

mysql> insert into DemoTable613 values(100,29,0);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable613 values(200,22,0);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable613 values(300,30,1);
Query OK, 1 row affected (0.19 sec)

3. 데이터 조회

select 문으로 테이블의 전체 레코드를 확인합니다.

mysql> select *from DemoTable613;

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

+------+------+-----------+
| Id   | Age  | isMarried |
+------+------+-----------+
|  100 |   29 |         0 |
|  200 |   22 |         0 |
|  300 |   30 |         1 |
+------+------+-----------+
3 rows in set (0.00 sec)

4. AND 연산자를 사용한 UPDATE 쿼리

다음은 AND 연산자를 활용해 isMarried 값을 갱신하는 UPDATE 쿼리입니다.

mysql> update DemoTable613 set isMarried=(Age=29 AND (Id=100));
Query OK, 2 rows affected (0.24 sec)
Rows matched: 3 Changed: 2 Warnings: 0

여기서 핵심은 (Age=29 AND Id=100)이라는 불리언 표현식입니다. MySQL에서 비교 조건이 참이면 1, 거짓이면 0을 반환하기 때문에, Age가 29이고 Id가 100인 행만 isMarried 값이 1로 설정되고 나머지 행은 0으로 갱신됩니다.

5. 업데이트 결과 확인

업데이트 후 테이블을 다시 한번 조회해 보겠습니다.

mysql> select *from DemoTable613;

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

+------+------+-----------+
| Id   | Age  | isMarried |
+------+------+-----------+
|  100 |   29 |         1 |
|  200 |   22 |         0 |
|  300 |   30 |         0 |
+------+------+-----------+
3 rows in set (0.00 sec)

위 결과를 보면 Id가 100이고 Age가 29인 행의 isMarried 값이 1로 변경된 것을 확인할 수 있습니다. 이처럼 AND 연산자를 UPDATE 문에 활용하면 별도의 WHERE 절 없이도 조건 기반 업데이트를 간결하게 처리할 수 있어, 특정 조건을 만족하는 행만 선택적으로 값을 변경할 때 유용하게 사용됩니다.