MySQL에서 특정 조건에 해당하는 행의 int 필드 값만 수정하고 싶다면, UPDATE 문에서 해당 컬럼 자체를 산술 연산하면 됩니다. 이번 글에서는 실제 예제를 통해 학생 점수(StudentScore) 컬럼의 정수 값을 업데이트하는 과정을 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable702 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(100), StudentScore int ); Query OK, 0 rows affected (0.56 sec)
StudentId는 자동 증가(AUTO_INCREMENT) 기본키로 설정했고, StudentScore는 정수(int) 타입으로 선언했습니다.
2. 샘플 데이터 삽입하기
INSERT 명령을 사용해 테이블에 레코드를 추가합니다.
mysql> insert into DemoTable702(StudentName,StudentScore) values('Chris',56);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable702(StudentName,StudentScore) values('Robert',21);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable702(StudentName,StudentScore) values('Mike',89);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable702(StudentName,StudentScore) values('David',99);
Query OK, 1 row affected (0.20 sec)3. 현재 데이터 확인하기
SELECT 문으로 테이블의 모든 레코드를 조회합니다.
mysql> select *from DemoTable702;
실행 결과는 다음과 같습니다.
+-----------+-------------+--------------+ | StudentId | StudentName | StudentScore | +-----------+-------------+--------------+ | 1 | Chris | 56 | | 2 | Robert | 21 | | 3 | Mike | 89 | | 4 | David | 99 | +-----------+-------------+--------------+ 4 rows in set (0.00 sec)
4. INT 필드 값 업데이트하기
MySQL에서 int 값을 업데이트하는 핵심 쿼리는 다음과 같습니다. WHERE 절로 대상 행을 지정하고, 컬럼 이름 자체에 덧셈 연산을 적용합니다.
mysql> update DemoTable702 set StudentScore=StudentScore+9 where StudentId=2; Query OK, 1 row affected (0.09 sec) Rows matched: 1 Changed: 1 Warnings: 0
위 쿼리는 StudentId가 2인 Robert의 점수에 9점을 더해 30점으로 갱신합니다. 이처럼 SET 컬럼명 = 컬럼명 + 값 형태를 사용하면 기존 값을 기준으로 정수 필드만 간단히 수정할 수 있습니다.
5. 업데이트 결과 확인하기
변경이 제대로 반영되었는지 다시 한번 테이블을 조회해 보겠습니다.
mysql> select *from DemoTable702;
실행 결과는 다음과 같습니다.
+-----------+-------------+--------------+ | StudentId | StudentName | StudentScore | +-----------+-------------+--------------+ | 1 | Chris | 56 | | 2 | Robert | 30 | | 3 | Mike | 89 | | 4 | David | 99 | +-----------+-------------+--------------+ 4 rows in set (0.00 sec)
Robert의 점수가 21에서 30으로 변경된 것을 확인할 수 있습니다. 다른 행들은 그대로 유지되며, 오직 WHERE 절에서 지정한 행의 int 필드만 업데이트되었습니다.
정리
MySQL에서 int 필드를 업데이트할 때는 UPDATE 문과 함께 산술 연산(+9, -5 등)을 활용하면 기존 값을 기준으로 유연하게 값을 조정할 수 있습니다. WHERE 절을 생략하면 테이블의 모든 행이 변경되므로, 항상 조건을 명확히 지정하는 것이 중요합니다.