Computer >> Máy Tính >  >> Lập trình >> SQL Server

Lệnh UPDATE trong SQL Server

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

  UPD ATE 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 board g1 
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 three ng1 
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

  UPDATE nhanvien 
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.

  UPDATE  nhanvien 
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.

  UPDATE anvien 
SET nhanvien.ten = danhba.ten
FROM nhanvien
INNER JOIN danhba
ON (nhanvien.ho = danhba.ho)
WHERE nhanvien _id> 95;