Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

IF 조건을 사용한 MySQL 업데이트

<시간/>

MySQL에서 IF 조건을 사용하여 UPDATE를 수행하는 구문은 다음과 같습니다 -

update yourTableName set yourColumnName =if(yourColumnName =yourOldValue,yourNewValue,yourColumnName);

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> 테이블 생성 updateIfConditionDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar(20), -> UserAge int -> );Query OK, 영향을 받는 행 0개(4분 0.59초) 

이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> insert into updateIfConditionDemo(UserName,UserAge) values('Larry',23);Query OK, 영향을 받는 행 1개(0.11초)mysql> updateIfConditionDemo(UserName,UserAge) values('Mike',21)에 삽입;Query OK, 영향을 받는 1행(0.20초)mysql> updateIfConditionDemo(UserName,UserAge) values('Sam',23)에 삽입;Query OK, 영향을 받는 1행(0.15초)mysql> updateIfConditionDemo(UserName,UserAge)에 삽입 values('David',23);쿼리 확인, 1행 영향(0.14초)mysql> updateIfConditionDemo(UserName,UserAge)에 삽입 values('Maxwell',23);쿼리 확인, 1행 영향(0.18초) 

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from updateIfConditionDemo;

다음은 출력입니다 -

+--------+----------+---------+| 사용자 ID | 사용자 이름 | 사용자 나이 |+--------+----------+---------+| 1 | 래리 | 23 || 2 | 마이크 | 21 || 3 | 샘 | 23 || 4 | 데이비드 | 23 || 5 | 맥스웰 | 23 |+--------+----------+---------+5행 세트(0.00초)

다음은 IF 조건을 사용하여 업데이트하는 쿼리입니다 -

mysql> 업데이트 updateIfConditionDemo set UserAge =if(UserAge =23,26,UserAge);쿼리 OK, 영향을 받는 4개 행(0.20초) 일치하는 행:5 변경됨:4 경고:0

테이블 레코드를 다시 한 번 확인해보자. UserAge가 23에서 26으로 업데이트되었습니다. −

mysql> select *from updateIfConditionDemo;

다음은 출력입니다 -

+--------+----------+---------+| 사용자 ID | 사용자 이름 | 사용자 나이 |+--------+----------+---------+| 1 | 래리 | 26 || 2 | 마이크 | 21 || 3 | 샘 | 26 || 4 | 데이비드 | 26 || 5 | 맥스웰 | 26 |+--------+----------+---------+5행 세트(0.00초)