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

Cập nhật giá trị cột trong MySQL với UPDATE SET WHERE

Cú pháp UPDATE cơ bản: Sửa đổi giá trị một cột theo điều kiện

Câu lệnh UPDATE table SET column = new_value WHERE condition cho phép thay đổi giá trị của cột cụ thể cho các hàng thỏa mãn điều kiện.

1. Tạo bảng và chèn dữ liệu

mysql> CREATE TABLE DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Score INT
);
mysql> INSERT INTO DemoTable (Score) VALUES (56), (78), (34), (55);

2. Xem dữ liệu ban đầu

mysql> SELECT * FROM DemoTable;
+-----------+-------+
| StudentId | Score |
+-----------+-------+
| 1         | 56    |
| 2         | 78    |
| 3         | 34    |
| 4         | 55    |
+-----------+-------+

3. Truy vấn: Cập nhật Score = 95 cho StudentId = 3

mysql> UPDATE DemoTable
    SET Score = 95
    WHERE StudentId = 3;

Kết quả: Query OK, 1 row affected ... Rows matched: 1 Changed: 1

4. Kiểm tra kết quả

mysql> SELECT * FROM DemoTable;
+-----------+-------+
| StudentId | Score |
+-----------+-------+
| 1         | 56    |
| 2         | 78    |
| 3         | 95    |  ← Đã cập nhật từ 34 thành 95
| 4         | 55    |
+-----------+-------+

Các biến thể UPDATE hữu ích:

LoạiCú phápVí dụ
1 cộtSET col = valSET Score = 95
Nhiều cộtSET col1=val1, col2=val2SET Score=95, Grade='A'
Biểu thứcSET col = col + 10SET Score = Score + 10
SubquerySET col = (SELECT ...)SET Score = (SELECT AVG(Score) FROM DemoTable)
CASESET col = CASE WHEN ...SET Grade = CASE WHEN Score>=90 THEN 'A' ELSE 'B' END

An toàn: Luôn có WHERE (trừ khi muốn update toàn bảng). Test trước bằng SELECT * FROM table WHERE condition.

LIMIT trong UPDATE (MySQL): UPDATE ... WHERE ... LIMIT 1 - giới hạn số hàng cập nhật.