Computer >> Máy Tính >  >> Lập trình >> MySQL

CẬP NHẬT MySQL sử dụng điều kiện IF

Cú pháp như sau để thực hiện CẬP NHẬT bằng điều kiện IF trong MySQL -

 cập nhật yourTableName đặt yourColumnName =if (yourColumnName =yourOldValue, yourNewValue, yourColumnName); 

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

 mysql> create table updateIfConditionDemo -> (-> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserName varchar (20), -> UserAge int ->); Truy vấn OK, 0 hàng bị ảnh hưởng (4 phút 0,59 giây) 

Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert. Truy vấn như sau -

 mysql> chèn vào giá trị updateIfConditionDemo (UserName, UserAge) ('Larry', 23); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào giá trị updateIfConditionDemo (UserName, UserAge) ('Mike', 21); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào giá trị updateIfConditionDemo (UserName, UserAge) ('Sam', 23); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây) mysql> chèn vào updateIfConditionDemo (UserName, UserAge) giá trị ('David', 23); Truy vấn OK, 1 hàng bị ảnh hưởng (0,14 giây) mysql> chèn vào giá trị updateIfConditionDemo (Tên người dùng, Người dùng) ('Maxwell', 23); Truy vấn OK, 1 hàng bị ảnh hưởng (0,18 giây)  

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

 mysql> select * from updateIfConditionDemo; 

Đây là kết quả -

 + -------- + ---------- + --------- + | UserId | Tên người dùng | UserAge | + -------- + ---------- + --------- + | 1 | Larry | 23 || 2 | Mike | 21 || 3 | Sam | 23 || 4 | David | 23 || 5 | Maxwell | 23 | + -------- + ---------- + --------- + 5 hàng trong bộ (0,00 giây) 

Đây là truy vấn để cập nhật bằng điều kiện IF -

 mysql> update updateIfConditionDemo set UserAge =if (UserAge =23,26, UserAge); Truy vấn OK, 4 hàng bị ảnh hưởng (0,20 giây) Các hàng phù hợp:5 Đã thay đổi:4 Cảnh báo:0 

Hãy để chúng tôi kiểm tra các bản ghi bảng một lần nữa. UserAge đã được cập nhật từ 23 lên 26 -

 mysql> select * from updateIfConditionDemo; 

Đây là kết quả -

 + -------- + ---------- + --------- + | UserId | Tên người dùng | UserAge | + -------- + ---------- + --------- + | 1 | Larry | 26 || 2 | Mike | 21 || 3 | Sam | 26 || 4 | David | 26 || 5 | Maxwell | 26 | + -------- + ---------- + --------- + 5 hàng trong bộ (0,00 giây)