Dùng câu lệnh UPDATE ... SET ... WHERE để thay đổi giá trị của một cột tại hàng xác định bởi điều kiện.
Ví dụ minh họa
Tạo bảng và chèn dữ liệu:
CREATE TABLE DemoTable1569 (
StudentId VARCHAR(10),
StudentName VARCHAR(20)
);
INSERT INTO DemoTable1569 VALUES
('John_12', 'John Smith'),
('David_321', 'Carol Taylor'),
('David_989', 'David Miller');
Cập nhật StudentId của hàng có StudentName = 'Carol Taylor':
UPDATE DemoTable1569 SET StudentId = 'Carol_321' WHERE StudentName = 'Carol Taylor';
Kết quả
| StudentId | StudentName |
|---|---|
| John_12 | John Smith |
| Carol_321 | Carol Taylor |
| David_989 | David Miller |
Lưu ý quan trọng
- Luôn có WHERE — thiếu WHERE sẽ cập nhật TOÀN BỘ bảng.
- Điều kiện WHERE nên dùng khóa chính hoặc cột duy nhất để đảm bảo chỉ cập nhật 1 hàng.
- Kiểm tra trước bằng SELECT:
SELECT * FROM DemoTable1569 WHERE StudentName = 'Carol Taylor'; - Sử dụng
LIMIT 1nếu không chắc chắn điều kiện duy nhất:UPDATE ... WHERE ... LIMIT 1; - Kết quả trả về:
Rows matched: 1 Changed: 1 Warnings: 0— xác nhận 1 hàng khớp và 1 hàng thay đổi.
Cập nhật nhiều cột cùng lúc
UPDATE DemoTable1569 SET StudentId = 'Carol_321', StudentName = 'Carol Taylor Smith' WHERE StudentId = 'David_321';