Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hiển thị bản ghi với điều kiện IF trong câu lệnh UPDATE MySQL

Hãy cùng tạo một bảng trước:

mysql> CREATE TABLE DemoTable (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(20),
    -> StudentMarks INT,
    -> Status VARCHAR(20)
    -> ); Query OK, 0 rows affected (0.97 sec)

Chèn một số bản ghi vào bảng bằng lệnh INSERT:

mysql> INSERT INTO DemoTable(StudentName,StudentMarks) VALUES('Chris',79); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable(StudentName,StudentMarks) VALUES('David',59); Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable(StudentName,StudentMarks) VALUES('Bob',60); Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DemoTable(StudentName,StudentMarks) VALUES('Mike',45); Query OK, 1 row affected (0.16 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable;

Kết quả sẽ như sau:

+-----------+-------------+--------------+--------+
| StudentId | StudentName | StudentMarks | Status |
+-----------+-------------+--------------+--------+
|         1 | Chris       |           79 | NULL   |
|         2 | David       |           59 | NULL   |
|         3 | Bob         |           60 | NULL   |
|         4 | Mike        |           45 | NULL   |
+-----------+-------------+--------------+--------+
4 rows in set (0.00 sec)

Dưới đây là truy vấn để đặt điều kiện khi cập nhật:

mysql> UPDATE DemoTable
    -> SET Status = IF(StudentMarks > 60, 'PASS', 'FAIL'); Query OK, 4 rows affected (0.40 sec) Rows matched: 4 Changed: 4 Warnings: 0

Hãy kiểm tra lại các bản ghi trong bảng:

mysql> SELECT * FROM DemoTable;

Kết quả sẽ như sau:

+-----------+-------------+--------------+--------+
| StudentId | StudentName | StudentMarks | Status |
+-----------+-------------+--------------+--------+
|         1 | Chris       |           79 | PASS   |
|         2 | David       |           59 | FAIL   |
|         3 | Bob         |           60 | FAIL   |
|         4 | Mike        |           45 | FAIL   |
+-----------+-------------+--------------+--------+
4 rows in set (0.00 sec)