Trong PostgreSQL, lệnh UPDATE
được sử dụng để sửa đổi dữ liệu hiện có trong các hàng của bảng. Cú pháp cơ bản của lệnh UPDATE
như sau:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
UPDATE
UPDATE
bắt đầu với việc chỉ định tên bảng (table_name
) mà bạn muốn sửa đổi dữ liệu.SET
được dùng để chỉ định cột nào cần thay đổi và giá trị mới của nó. Bạn có thể cập nhật một hoặc nhiều cột cùng lúc.WHERE
là mệnh đề tùy chọn để chỉ định các hàng sẽ được cập nhật. Nếu bạn bỏ qua WHERE
, tất cả các hàng trong bảng sẽ bị thay đổi. Điều này có thể gây ra các thay đổi không mong muốn nếu không cẩn thận.RETURNING
để trả về giá trị sau khi cập nhật.Giả sử bạn có bảng employees
với các cột name
, salary
. Bạn muốn tăng lương của nhân viên có tên là ‘John’ lên 1000:
UPDATE employees SET salary = salary + 1000 WHERE name = 'John';
Bạn có thể cập nhật nhiều cột cùng lúc. Ví dụ, cập nhật lương và chức vụ của nhân viên ‘Sarah’:
UPDATE employees SET salary = 2000, position = 'Manager' WHERE name = 'Sarah';
Nếu không dùng điều kiện WHERE
, mọi hàng trong bảng sẽ bị cập nhật. Ví dụ, tăng lương của tất cả các nhân viên thêm 500:
UPDATE employees SET salary = salary + 500;
RETURNING
:Nếu bạn muốn kiểm tra kết quả cập nhật, bạn có thể sử dụng mệnh đề RETURNING
để trả về dữ liệu mới sau khi cập nhật. Ví dụ:
UPDATE employees SET salary = salary + 500 WHERE name = 'John' RETURNING name, salary;
UPDATE
trong một giao dịch lớn, hãy nhớ dùng COMMIT
để xác nhận thay đổi, hoặc ROLLBACK
nếu muốn hủy bỏ cập nhật.Khi sử dụng UPDATE
với các bảng lớn, việc tối ưu hóa qua chỉ số (indexes) và giới hạn phạm vi qua WHERE
rất quan trọng để giảm thiểu thời gian xử lý.
Lệnh UPDATE
trong PostgreSQL linh hoạt và mạnh mẽ, cho phép bạn thực hiện nhiều loại cập nhật dữ liệu khác nhau từ đơn giản đến phức tạp.