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

MySQL UPDATE 문의 SET 절을 활용해 예약어 열 'ADD' 값을 증가시키는 방법

MySQL에서 ADD는 이미 예약어(reserved word)로 지정되어 있기 때문에, 이를 열 이름으로 사용하려면 반드시 백틱(`)으로 감싸 `ADD` 형태로 작성해야 합니다. 그렇지 않으면 SQL 구문 오류가 발생합니다.

실제 예제를 통해 확인해 보겠습니다.

1. 테이블 생성하기

먼저 예약어인 ADD를 열 이름으로 포함하는 테이블을 생성합니다.

mysql> create table DemoTable779 (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   `ADD` int
);
Query OK, 0 rows affected (0.47 sec)

2. 데이터 삽입하기

INSERT 명령문을 사용해 몇 개의 레코드를 삽입합니다.

mysql> insert into DemoTable779(`ADD`) values(54);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable779(`ADD`) values(89);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable779(`ADD`) values(66);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable779(`ADD`) values(58);
Query OK, 1 row affected (0.10 sec)

3. 전체 레코드 조회하기

SELECT 문으로 테이블의 모든 레코드를 확인할 수 있습니다.

mysql> select *from DemoTable779;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+----+------+
| Id | ADD  |
+----+------+
| 1  | 54   |
| 2  | 89   |
| 3  | 66   |
| 4  | 58   |
+----+------+
4 rows in set (0.00 sec)

4. SET 절로 'ADD' 열 값 증가시키기

UPDATE 문의 SET 절에서 자기 자신의 값을 참조하여 특정 값만큼 증가시킬 수 있습니다. 아래 예제는 `ADD` 열의 모든 값을 10씩 증가시키는 방법입니다.

mysql> update DemoTable779
set `ADD`=`ADD`+10;
Query OK, 4 rows affected (0.20 sec)
Rows matched: 4 Changed: 4 Warnings: 0

5. 업데이트 결과 확인하기

다시 한번 SELECT 문으로 테이블 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable779;

실행 결과, 모든 행의 ADD 값이 정확히 10씩 증가한 것을 확인할 수 있습니다.

+----+------+
| Id | ADD  |
+----+------+
| 1  | 64   |
| 2  | 99   |
| 3  | 76   |
| 4  | 68   |
+----+------+
4 rows in set (0.00 sec)

이처럼 MySQL에서 예약어를 열 이름으로 사용할 때는 백틱으로 감싸는 것만 주의하면, SET 절을 활용해 기존 값을 기준으로 손쉽게 값을 증가시킬 수 있습니다. WHERE 절을 추가하면 특정 조건에 맞는 행만 선택적으로 업데이트하는 것도 가능합니다.