MySQL에서 특정 조건에 해당하는 행의 열 값을 다른 값으로 대체하려면 UPDATE 문과 WHERE 절을 함께 사용하면 됩니다. 이 글에서는 예제 테이블을 만들고, 데이터를 삽입한 뒤, UPDATE 쿼리를 사용해 특정 학생의 점수를 변경하는 전 과정을 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 CREATE TABLE 문으로 예제 테이블을 생성합니다. StudentId는 자동 증가(AUTO_INCREMENT) 기본 키로 설정하고, Score 열에는 정수형 점수를 저장합니다.
mysql> create table DemoTable
(
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Score int
);
Query OK, 0 rows affected (0.45 sec)
2. 데이터 삽입하기
INSERT 명령어를 사용해 테이블에 여러 개의 레코드를 추가합니다.
mysql> insert into DemoTable(Score) values(56); Query OK, 1 row affected (0.24 sec) mysql> insert into DemoTable(Score) values(78); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable(Score) values(34); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable(Score) values(55); Query OK, 1 row affected (0.37 sec)
3. 현재 데이터 확인하기
SELECT 문으로 테이블의 모든 레코드를 조회해 봅니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+-----------+-------+ | StudentId | Score | +-----------+-------+ | 1 | 56 | | 2 | 78 | | 3 | 34 | | 4 | 55 | +-----------+-------+ 4 rows in set (0.00 sec)
4. UPDATE 쿼리로 열 값 대체하기
특정 열의 값을 새로운 값으로 대체하려면 아래와 같은 UPDATE 쿼리를 사용합니다. 여기서는 StudentId가 3인 학생의 Score 값을 95로 변경합니다.
mysql> update DemoTable
set Score=95 where StudentId=3;
Query OK, 1 row affected (0.12 sec)
Rows matched : 1 Changed : 1 Warnings : 0
주의: WHERE 절을 생략하면 테이블의 모든 행이 한꺼번에 수정되므로, 반드시 WHERE 절로 변경 대상을 지정해야 합니다.
5. 변경 결과 확인하기
다시 SELECT 문을 실행해 업데이트가 정상적으로 적용되었는지 확인합니다.
mysql> select *from DemoTable;
StudentId가 3인 행의 Score가 34에서 95로 성공적으로 대체된 것을 확인할 수 있습니다.
+-----------+-------+ | StudentId | Score | +-----------+-------+ | 1 | 56 | | 2 | 78 | | 3 | 95 | | 4 | 55 | +-----------+-------+ 4 rows in set (0.00 sec)
정리
MySQL에서 열 값을 대체하는 기본 문법은 UPDATE 테이블명 SET 열이름=새값 WHERE 조건;입니다. WHERE 절을 통해 원하는 행만 정확히 선택하는 것이 안전한 데이터 수정의 핵심입니다. 또한 REPLACE() 함수를 활용하면 문자열 열 내부의 일부 텍스트만 치환할 수도 있습니다.