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

Chúng ta có thể cập nhật MySQL với điều kiện if không?

Bạn có thể cập nhật MySQL với điều kiện IF cũng như câu lệnh CASE. Với mục đích này, trước tiên chúng ta hãy tạo một bảng. Truy vấn tạo bảng -

mysql> create table UpdateWithIfCondition
   −> (
   −> BookId int,
   −> BookName varchar(200)
   −> );
Query OK, 0 rows affected (0.60 sec)

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

mysql> insert into UpdateWithIfCondition values(1000,'C in Depth');
Query OK, 1 row affected (0.12 sec)

mysql> insert into UpdateWithIfCondition values(1001,'Introduction to Java');
Query OK, 1 row affected (0.14 sec)

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 UpdateWithIfCondition;

Sau đây là kết quả -

+--------+----------------------+
| BookId | BookName             |
+--------+----------------------+
| 1000   | C in Depth           |
| 1001   | Introduction to Java |
+--------+----------------------+
2 rows in set (0.00 sec)

Hãy để chúng tôi cập nhật giá trị 'C in Depth' với giá trị 'Giới thiệu về C' và 1001 với giá trị 2000 bằng cách sử dụng điều kiện if. Truy vấn như sau -

mysql> update UpdateWithIfCondition
   −> set BookName = if(BookName = 'C in Depth','Introduction to C',BookName),
   −> BookId = if(BookId = 1001,2000,BookId);
Query OK, 2 rows affected (0.43 sec)
Rows matched: 2 Changed: 2 Warnings: 0

Ở trên, chúng tôi đã cập nhật cả hai giá trị cột. Sau đây là truy vấn để kiểm tra cả hai giá trị đã được cập nhật hay chưa -

mysql> select *from UpdateWithIfCondition;

Sau đây là kết quả hiển thị rằng chúng tôi đã cập nhật thành công các giá trị bằng if -

+--------+----------------------+
| BookId | BookName             |
+--------+----------------------+
| 1000   | Introduction to C    |
| 2000   | Introduction to Java |
+--------+----------------------+
2 rows in set (0.00 sec)