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

MySQL에서 두 개의 열(컬럼)을 한 번에 업데이트하는 방법

MySQL에서는 UPDATE 문의 SET 절에 쉼표(,)로 구분하여 여러 열을 지정함으로써 두 개 이상의 열을 동시에 업데이트할 수 있습니다. 기본 문법은 다음과 같습니다.

UPDATE 테이블이름
SET 열이름1 = '값1', 열이름2 = '값2'
WHERE 조건;

예제 테이블 생성하기

문법을 실제로 이해하기 위해 먼저 예제 테이블을 만들어 보겠습니다. 아래 쿼리로 학생 정보 테이블을 생성합니다.

mysql> create table StudentInformations
    -> (
    -> StudentId int not null auto_increment,
    -> StudentFirstName varchar(20),
    -> StudentLastName varchar(20),
    -> Primary Key(StudentId)
    -> );
Query OK, 0 rows affected (0.57 sec)

샘플 데이터 삽입하기

INSERT 명령어를 사용해 테이블에 몇 개의 레코드를 추가합니다.

mysql> insert into StudentInformations(StudentFirstName,StudentLastName)
values('John','Smith');
Query OK, 1 row affected (0.16 sec)

mysql> insert into StudentInformations(StudentFirstName,StudentLastName)
values('Carol','Taylor');
Query OK, 1 row affected (0.17 sec)

mysql> insert into StudentInformations(StudentFirstName,StudentLastName)
values('Mike','Jones');
Query OK, 1 row affected (0.13 sec)

mysql> insert into StudentInformations(StudentFirstName,StudentLastName)
values('Sam','Williams');
Query OK, 1 row affected (0.16 sec)

mysql> insert into StudentInformations(StudentFirstName,StudentLastName)
values('Bob','Davis');
Query OK, 1 row affected (0.14 sec)

mysql> insert into StudentInformations(StudentFirstName,StudentLastName)
values('David','Miller');
Query OK, 1 row affected (0.20 sec)

전체 레코드 조회하기

SELECT 문으로 테이블에 저장된 모든 레코드를 확인합니다.

mysql> select *from StudentInformations;

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

+-----------+------------------+-----------------+
| StudentId | StudentFirstName | StudentLastName |
+-----------+------------------+-----------------+
|         1 | John             | Smith           |
|         2 | Carol            | Taylor          |
|         3 | Mike             | Jones           |
|         4 | Sam              | Williams        |
|         5 | Bob              | Davis           |
|         6 | David            | Miller          |
+-----------+------------------+-----------------+
6 rows in set (0.00 sec)

두 개의 열 동시에 업데이트하기

이제 두 개의 열을 한 번에 업데이트하는 쿼리를 실행해 보겠습니다. 여기서는 StudentId가 3인 학생의 이름(StudentFirstName)과 성(StudentLastName)을 각각 'Robert'와 'Brown'으로 변경합니다.

mysql> update StudentInformations set StudentFirstName = 'Robert',
StudentLastName = 'Brown' where
    -> StudentId = 3;
Query OK, 1 row affected (0.12 sec)
Rows matched: 1  Changed: 1  Warnings: 0

업데이트 결과 확인하기

SELECT 문을 다시 실행하여 변경된 값을 확인합니다.

mysql> select *from StudentInformations;

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

+-----------+------------------+-----------------+
| StudentId | StudentFirstName | StudentLastName |
+-----------+------------------+-----------------+
|         1 | John             | Smith           |
|         2 | Carol            | Taylor          |
|         3 | Robert           | Brown           |
|         4 | Sam              | Williams        |
|         5 | Bob              | Davis           |
|         6 | David            | Miller          |
+-----------+------------------+-----------------+
6 rows in set (0.00 sec)

위 출력 결과를 보면 StudentId가 3인 레코드의 StudentFirstName과 StudentLastName 값이 성공적으로 변경된 것을 확인할 수 있습니다.

핵심 정리

MySQL에서 여러 열을 업데이트할 때는 SET 절 뒤에 열이름 = 값 형태를 쉼표로 구분하여 나열하면 됩니다. WHERE 절을 생략하면 테이블의 모든 행이 수정되므로, 반드시 조건을 명시하여 원하는 레코드만 업데이트하도록 주의해야 합니다.