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

MySQL UPDATE 쿼리로 열(컬럼) 값 대체하는 방법

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() 함수를 활용하면 문자열 열 내부의 일부 텍스트만 치환할 수도 있습니다.