Trong bất kỳ hệ quản trị cơ sở dữ liệu nào, việc truy xuất dữ liệu chỉ là một nửa câu chuyện giá trị thực sự nằm ở khả năng kiểm soát và thay đổi dữ liệu một cách chính xác. Đây chính là nơi câu lệnh UPDATE trong SQL phát huy vai trò cốt lõi. Một thao tác tưởng chừng đơn giản chỉnh sửa một bản ghi thực chất lại tiềm ẩn hàng loạt vấn đề quan trọng: từ tính toàn vẹn dữ liệu, hiệu năng hệ thống, cho đến rủi ro ghi đè ngoài ý muốn.
Nhiều người mới học SQL thường xem nhẹ UPDATE, nhưng trong thực tế vận hành, đây lại là một trong những câu lệnh “nhạy cảm” nhất. Một câu lệnh thiếu điều kiện WHERE có thể thay đổi toàn bộ bảng chỉ trong tích tắc. Ngược lại, khi được sử dụng đúng cách, UPDATE trở thành công cụ mạnh mẽ giúp bạn đồng bộ dữ liệu, tối ưu quy trình xử lý và duy trì tính nhất quán trong hệ thống.
Bài viết này không chỉ dừng lại ở cú pháp cơ bản. Bạn sẽ được khám phá toàn diện các hoạt động liên quan đến câu lệnh UPDATE – từ cách sử dụng chuẩn xác, các biến thể nâng cao, cho đến những tình huống thực tế và lỗi thường gặp mà ngay cả những người có kinh nghiệm cũng dễ mắc phải. Nếu bạn muốn làm chủ dữ liệu thay vì chỉ thao tác với nó, đây là phần kiến thức không thể bỏ qua.
Tóm Tắt Bài Viết
Tổng quan về câu lệnh UPDATE trong SQL
Lệnh UPDATE trong SQL giúp duy trì và quản lý dữ liệu trong cơ sở dữ liệu. Bạn có thể dùng lệnh này để cập nhật một hoặc nhiều bản ghi trong bảng bằng cách đặt điều kiện với mệnh đề WHERE.

Lệnh UPDATE thường dùng khi cần sửa dữ liệu trong bảng, như cập nhật trạng thái đơn hàng, thay đổi thông tin cá nhân hoặc điều chỉnh số lượng tồn kho.
Cú pháp câu lệnh UPDATE trong MySQL

Cú pháp cơ bản của truy vấn UPDATE với mệnh đề Where như sau:
UPDATE [LOW_PRIORITY] [IGNORE] table_name SET column_name1 = expr1, column_name2 = expr2, ... WHERE condition;
Trong câu lệnh Update:
- Bạn cần chỉ định tên bảng mà bạn muốn cập nhật dữ liệu sau từ khoá Update
- Mệnh đề SET chỉ định cột nào bạn muốn sửa đổi và các giá trị mới. Để cập nhật nhiều cột, bạn cần dùng danh sách những cột được phân tách bằng dấu phẩy.
- Bạn cần xác định các hàng sẽ được cập nhật bằng cách dùng 1 điều kiện trong câu lệnh Where. Trong trường hợp người dùng bỏ qua câu lệnh Where thì câu lệnh Update sẽ cập nhật toàn bộ những hàng trong bảng.
MySQL hỗ trợ cả 2 công cụ sửa đổi trong câu lệnh Update đó là:
- LOW_PRIORITY: chỉ thị câu lệnh UPDATE để hoãn cập nhật cho đến khi không có dữ liệu kết nối từ bảng. LOW_PRIORITY sẽ có hiệu lực đối với những công cụ lưu trữ chỉ dùng từ khoá ở cấp bảng chẳng hạn như là: Memory, Merge, MyISAM.
- IGNORE: cho phép câu lệnh UPDATE tiếp tục cập nhật những hàng ngay cả khi xảy ra lỗi. Những hàng tạo ra lỗi như trùng lặp sẽ không được cập nhật.
Bạn có thể kết hợp N số điều kiện bằng toán tử OR hoặc AND.
Ví dụ ta có bảng thông tin sau:
|
ID |
NAME |
AGE |
ADDRESS |
Salary |
|
1 |
Ha Anh |
32 |
Da Nang |
2000 |
|
2 |
Van Ha |
25 |
Ha Noi |
1500 |
|
3 |
Vu Bang |
23 |
Vinh |
20000 |
|
4 |
Thu Minh |
25 |
Ha Noi |
6500 |
|
5 |
Hai Anh |
27 |
Ha Noi |
8500 |
|
6 |
Hoang |
22 |
Ha Noi |
4500 |
|
7 |
Binh |
24 |
Ha Noi |
10000 |
Để cập nhật Address cho một số khách hàng có số ID là 6 trong bảng, ta sử dụng code sau:
UPDATE CUSTOMERS SET ADDRESS = 'Vinh Phuc' WHERE ID = 6;
Lúc này bảng Customers sẽ có những bản ghi sau đây:

Trong trường hợp nếu bạn muốn chỉnh sửa toàn bộ những giá trị Address và Salary trong bảng Customers, bạn không cần sử dụng mệnh đề Where mà thay vì đó bạn chỉ cần sử dụng câu lệnh Update như sau:
UPDATE CUSTOMERS SET ADDRESS = 'Ha Noi', SALARY = 1000.00;
Lúc này trong bảng Customers sẽ có những bản ghi sau đây:
Ví dụ cụ thể về câu lệnh UPDATE trong Mysql

Update dữ liệu cho một cột
Để update dữ liệu cho 1 cột, bạn cần sử dụng câu lệnh SELECT sau:
SELECT firstname, lastname, email FROM employees WHERE employeeNumber = 1056;
Tiếp theo, bạn sử dụng câu lệnh UPDATE như sau:
UPDATE employees SET email = 'mary.patterson@classicmodelcars.com' WHERE employeeNumber = 1056;
Update dữ liệu cho nhiều cột
Để cập nhật những giá trị trong nhiều cột, bạn cần xác định những yêu cầu trong lệnh SET. Chẳng hạn như câu lệnh sau cập nhật cả cột email và name đối với nhân viên số 1056:
UPDATE employees SET lastname = 'Hill', email = 'mary.hill@classicmodelcars.com' WHERE employeeNumber = 1056;
Để kiểm tra việc update bạn cần dùng câu lệnh như sau:
SELECT firstname, lastname, email FROM employees WHERE employeeNumber = 1056;
Câu lệnh UPDATE trong SQL hoạt động như thế nào?
Khi thực thi câu lệnh UPDATE, hệ quản trị cơ sở dữ liệu thực hiện các bước sau:
- Xác định bảng đích: Hệ thống nhận diện bảng được chỉ định trong lệnh UPDATE.
- Áp dụng điều kiện WHERE: Hệ thống lọc các bản ghi thỏa điều kiện. Nếu không có WHERE, toàn bộ bản ghi sẽ được chọn.
- Cập nhật cột: Các cột trong mệnh đề SET được gán giá trị mới.
- Ghi dữ liệu: Hệ thống lưu thay đổi vào bảng và đảm bảo tính toàn vẹn dữ liệu.
- Kiểm tra ràng buộc và chỉ mục: Hệ thống kiểm tra khóa chính, khóa ngoại và các ràng buộc liên quan.
- Xác nhận thay đổi: Nếu không có lỗi, hệ thống áp dụng cập nhật và trả về số bản ghi bị ảnh hưởng. Nếu có lỗi, giao dịch bị hủy.
Một số lưu ý khi sử dụng câu lệnh UPDATE trong SQL
Kiểm tra phạm vi ảnh hưởng bằng lệnh SELECT trước khi UPDATE: Trước khi chạy UPDATE, hãy dùng SELECT với cùng điều kiện WHERE để xem các bản ghi sẽ bị tác động. Cách này giúp bạn chỉ cập nhật đúng dữ liệu cần thay đổi.
- Luôn dùng mệnh đề WHERE để giới hạn bản ghi: Nếu không có WHERE, toàn bộ bảng sẽ bị cập nhật. Điều này dễ gây lỗi nghiêm trọng.
- Sao lưu dữ liệu trước khi UPDATE: Với hệ thống lớn, dữ liệu khó khôi phục khi xảy ra sự cố. Trước khi cập nhật diện rộng, hãy sao lưu bảng hoặc cơ sở dữ liệu.
- Chú ý các ràng buộc (Constraints): Nếu bảng có NOT NULL, UNIQUE, hoặc FOREIGN KEY, dữ liệu không hợp lệ sẽ gây lỗi. Hãy kiểm tra các ràng buộc trước khi thực thi lệnh.
Vậy là qua bài viết trên đây BKNS đã cung cấp cho bạn thông tin về câu lệnh UPDATE trong MySQL để bạn tham khảo. Hy vọng qua bài viết trên bạn sẽ biết cách để sửa lỗi. Nếu bạn còn thắc mắc nào liên quan đến bài viết trên thì hãy liên hệ với chúng tôi để được giải đáp nhanh nhất nhé. Đừng quên truy cập website bkns.vn để biết thêm những thông tin hữu ích khác nữa nhé.





































