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

MySQL에서 INSERT 문에 WHERE 절을 추가하는 방법 – UPDATE 문으로 해결하기

MySQL에서 INSERT 문에는 WHERE 절을 직접 사용할 수 없습니다. 이미 저장된 데이터를 특정 조건에 따라 수정하려면 UPDATE 문을 사용해야 합니다.

UPDATE 문 기본 문법

WHERE 절과 함께 데이터를 수정하는 기본 문법은 다음과 같습니다.

update yourTableName
set yourColumnName1=yourValue1, yourColumnName2=yourValue2, ....N
where yourCondition;

예제 테이블 생성

먼저 실습에 사용할 테이블을 생성하겠습니다.

mysql> create table addWhereClauseDemo
    -> (
    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName varchar(30),
    -> StudentPassword varchar(40)
    -> );
Query OK, 0 rows affected (0.45 sec)

샘플 데이터 삽입

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

mysql> insert into addWhereClauseDemo(StudentName,StudentPassword) values('John','John123456');
Query OK, 1 row affected (0.14 sec)
mysql> insert into addWhereClauseDemo(StudentName,StudentPassword) values('Carol','99999');
Query OK, 1 row affected (0.24 sec)
mysql> insert into addWhereClauseDemo(StudentName,StudentPassword) values('Bob','OO7Bob');
Query OK, 1 row affected (0.16 sec)
mysql> insert into addWhereClauseDemo(StudentName,StudentPassword) values('David','David321');
Query OK, 1 row affected (0.26 sec)

저장된 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> select *from addWhereClauseDemo;

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

+-----------+-------------+-----------------+
| StudentId | StudentName | StudentPassword |
+-----------+-------------+-----------------+
| 1         | John        | John123456      |
| 2         | Carol       | 99999           |
| 3         | Bob         | OO7Bob          |
| 4         | David       | David321        |
+-----------+-------------+-----------------+
4 rows in set (0.00 sec)

WHERE 절을 활용한 데이터 수정

이제 WHERE 절이 포함된 UPDATE 쿼리를 실행하여 StudentId가 4인 레코드를 수정합니다.

mysql> update addWhereClauseDemo
-> set StudentName='Maxwell',StudentPassword='Maxwell44444' where StudentId=4;
Query OK, 1 row affected (0.18 sec)
Rows matched: 1 Changed: 1 Warnings: 0

수정 결과 확인

다시 SELECT 문을 실행해 변경 사항이 정상적으로 반영되었는지 확인합니다.

mysql> select *from addWhereClauseDemo;

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

+-----------+-------------+-----------------+
| StudentId | StudentName | StudentPassword |
+-----------+-------------+-----------------+
| 1         | John        | John123456      |
| 2         | Carol       | 99999           |
| 3         | Bob         | OO7Bob          |
| 4         | Maxwell     | Maxwell44444    |
+-----------+-------------+-----------------+
4 rows in set (0.00 sec)

위 결과에서 볼 수 있듯이, StudentId가 4인 레코드의 이름과 비밀번호가 각각 'Maxwell'과 'Maxwell44444'로 성공적으로 변경되었습니다. 이처럼 MySQL에서는 INSERT 문 대신 UPDATE 문과 WHERE 절을 조합하여 원하는 조건의 데이터만 정확하게 수정할 수 있습니다.