Trong SQL Server (Transact-SQL), lệnh UPDATE được sử dụng để cập nhật các bản ghi hiện có trên bảng trong cơ sở dữ liệu SQL Server. Có 3 cú pháp cho lệnh UPDATE, tùy thuộc vào việc bạn đang cập nhật kiểu truyền thống hay cập nhật một bảng với dữ liệu từ một bảng khác.
Cú pháp lệnh CẬP NHẬT
Các bảng cập nhật cú pháp trong SQL Server
UPDATE bang
SET cot1 = bieuthuc1,
cot2 = bieuthuc2,
…
[WHERE die
u_kien];
Cú pháp là cập nhật một bảng với dữ liệu từ một bảng khác trong SQL Server, kết hợp câu lệnh SELECT.
UPDATE boardg1
SET cot1 = (SELECT bieuthuc1
FROM bang2
WHERE dieu_kien)
[WHERE dieu_k
ien];
Hoặc một cú pháp khác để cập nhật một bảng với dữ liệu từ một bảng khác
UPDATE threeng1
SET bang1.cot = bang2.bieuthuc1
FROM bang1
INNER JOIN bang2
ON (bang1.cot1 = bang2.cot1)
[WHERE dieu_k
ien];
Tên biến hoặc giá trị biến
cot1, cot2
Cột cần cập nhật.
bieuthuc1, bieuthuc2
Giá trị mới phải được chỉ định cho cot1, cot2. Cot1 sẽ gán giá trị của bieuthuc1, cot2 sẽ gán giá trị của bieuthuc2.
WHERE dieu_kien
Tùy chọn. Các điều kiện phải được đáp ứng để hồ sơ được cập nhật.
Ví dụ:cập nhật 1 cột
UPDATEnhanvien
SET ho = 'Johnson'
WHERE nhanv
= 10;
Lệnh CẬP NHẬT này sẽ cập nhật họ của nhân viên trong bàn thành Johnson nếu là 10.
Ví dụ:cập nhật nhiều cột
Đây là ví dụ về việc cập nhật nhiều cột chỉ với một lệnh UPDATE.
UPDATEnhanvien
SET ten = 'Kyle',
nhanvien_id = 14
WHERE ho = 'Johnso
n';
Nếu bạn muốn cập nhật nhiều cột, chỉ cần tách các cột / giá trị bằng dấu phẩy.
Lệnh UPDATE ở trên sẽ cập nhật tên Kyle và nhanvien_id thành 14 nếu họ của người đó là Johnson.
Ví dụ:cập nhật bảng với dữ liệu từ một bảng khác
Đây là ví dụ về việc cập nhật bảng với dữ liệu từ một bảng khác trong MySQL.
UPDATE staff
SET ten = (SELECT ten
FROM danhba
WHERE danhba.ho = nhanvien.ho)
WHERE nhanvien_
id> 95;
Ví dụ trên sẽ cập nhật tất cả các bản ghi trong bảng nếu nhanvien_id lớn hơn 95. Nếu họ của nhân viên trong bảng và tên giống nhau thì tên trong danh sách sẽ được sao chép vào tên trong bảng.
Lệnh CẬP NHẬT này có thể được viết lại bằng cú pháp thứ hai bên dưới.
UPDATEanvien
SET nhanvien.ten = danhba.ten
FROM nhanvien
INNER JOIN danhba
ON (nhanvien.ho = danhba.ho)
WHERE nhanvien
_id> 95;