Đăng nhập

Bài 13. UPDATE – Cập nhật dữ liệu

Trong thực tế, dữ liệu trong cơ sở dữ liệu không phải lúc nào cũng giữ nguyên. Có những lúc bạn cần sửa lại thông tin vì sai sót ban đầu, hoặc vì thông tin đã thay đổi — ví dụ như cập nhật số điện thoại học sinh, thay đổi điểm số, hoặc cập nhật trạng thái đơn hàng. Đó là lúc câu lệnh UPDATE phát huy tác dụng.

Câu lệnh này cho phép bạn chỉnh sửa dữ liệu đã có trong một bảng, thay vì phải xóa đi rồi thêm lại dòng mới. Trong bài học này, bạn sẽ học cách sử dụng UPDATE đúng cách, có điều kiện rõ ràng để tránh cập nhật nhầm dữ liệu.


Cú pháp cơ bản

UPDATE ten_bang
SET cot1 = gia_tri_moi1, cot2 = gia_tri_moi2, ...
WHERE dieu_kien;

Giải thích:

  • ten_bang: tên bảng bạn muốn cập nhật.
  • SET: phần khai báo cột nào sẽ được thay đổi và thay đổi thành giá trị nào.
  • WHERE: điều kiện để giới hạn bản ghi cần cập nhật. Nếu bỏ qua WHERE, toàn bộ bảng sẽ bị cập nhật, rất nguy hiểm!

Ví dụ thực tế

Giả sử bạn có bảng students với các cột: id, name, class, phone.

Cập nhật số điện thoại của học sinh có id = 3:

UPDATE students
SET phone = '0909123456'
WHERE id = 3;

Cập nhật tên lớp của tất cả học sinh trong lớp ’10A’ thành ’10A1′:

UPDATE students
SET class = '10A1'
WHERE class = '10A';

Lưu ý quan trọng

  • Luôn có điều kiện WHERE nếu chỉ muốn cập nhật một phần dữ liệu. Nếu không, tất cả dòng trong bảng sẽ bị ảnh hưởng. UPDATE students SET phone = '0000000000'; -- Sai sót nghiêm trọng nếu quên WHERE!
  • Có thể dùng UPDATE với nhiều cột một lúc: UPDATE students SET class = '11B', phone = '0988888888' WHERE id = 5;

Kết hợp với SELECT để kiểm tra trước

Trước khi thực hiện UPDATE, bạn nên chạy một câu SELECT với điều kiện tương tự để kiểm tra đúng dữ liệu mình muốn cập nhật:

SELECT * FROM students WHERE id = 3;

Sau đó mới tiến hành câu UPDATE tương ứng.


Tổng kết

Lệnh UPDATE là công cụ không thể thiếu để điều chỉnh dữ liệu khi có thay đổi. Tuy nhiên, bạn cần thận trọng khi sử dụng, đặc biệt là trong môi trường thực tế với hàng ngàn bản ghi. Hãy luôn kiểm tra kỹ điều kiện WHERE để tránh ảnh hưởng đến toàn bộ bảng.

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.