Câu lệnh UPDATE trong SQL được sử dụng để sửa đổi các bản ghi hiện có trong một bảng. Bạn có thể sử dụng mệnh đề WHERE với truy vấn UPDATE để cập nhật các bản ghi đã chọn, nếu không tất cả các bản ghi sẽ bị ảnh hưởng.
Cú pháp
Cú pháp cơ bản của truy vấn UPDATE với mệnh đề WHERE như sau:
UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];
Bạn có thể kết hợp N số điều kiện bằng toán tử AND hoặc OR.
Ví dụ
Giả sử bảng CUSTOMERS có các bản ghi sau đây:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ha Anh | 32 | Da Nang | 2000.00 | | 2 | Van Ha | 25 | Ha Noi | 1500.00 | | 3 | Vu Bang | 23 | Vinh | 2000.00 | | 4 | Thu Minh | 25 | Ha Noi | 6500.00 | | 5 | Hai An | 27 | Ha Noi | 8500.00 | | 6 | Hoang | 22 | Ha Noi | 4500.00 | | 7 | Binh | 24 | Ha Noi | 10000.00 | +----+----------+-----+-----------+----------+
Truy vấn sau sẽ cập nhật ADDRESS cho một khách hàng có số ID là 6 trong bảng.
UPDATE CUSTOMERS SET ADDRESS = 'Vinh Phuc' WHERE ID = 6;
Bây giờ, bảng CUSTOMERS sẽ có các bản ghi sau đây:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ha Anh | 32 | Da Nang | 2000.00 | | 2 | Van Ha | 25 | Ha Noi | 1500.00 | | 3 | Vu Bang | 23 | Vinh | 2000.00 | | 4 | Thu Minh | 25 | Ha Noi | 6500.00 | | 5 | Hai An | 27 | Ha Noi | 8500.00 | | 6 | Hoang | 22 | Vinh Phuc | 4500.00 | | 7 | Binh | 24 | Ha Noi | 10000.00 | +----+----------+-----+-----------+----------+
Nếu muốn sửa đổi tất cả các giá trị ADDRESS và SALARY trong bảng CUSTOMERS, bạn không cần phải sử dụng mệnh đề WHERE vì chỉ cần câu lệnh UPDATE là đủ như thể hiện trong khối mã sau đây.
UPDATE CUSTOMERS SET ADDRESS = 'Ha Noi', SALARY = 1000.00;
Bây giờ, bảng CUSTOMERS sẽ có các bản ghi sau đây:
+----+----------+-----+-----------+---------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+---------+ | 1 | Ha Anh | 32 | Ha Noi | 1000.00 | | 2 | Van Ha | 25 | Ha Noi | 1000.00 | | 3 | Vu Bang | 23 | Ha Noi | 1000.00 | | 4 | Thu Minh | 25 | Ha Noi | 1000.00 | | 5 | Hai An | 27 | Ha Noi | 1000.00 | | 6 | Hoang | 22 | Ha Noi | 1000.00 | | 7 | Binh | 24 | Ha Noi | 1000.00 | +----+----------+-----+-----------+---------+