Cập nhật dữ liệu

Một phần của tài liệu giao trinh SQL (Trang 54 - 56)

Cõu lệnh UPDATE trong SQL được sử dụng để cập nhật dữ liệu trong cỏc bảng. Cõu lệnh này cú cỳ phỏp như sau:

UPDATE tờn_bảng

SET tờn_cột = biểu_thức

[, ..., tờn_cột_k = biểu_thức_k] [FROM danh_sỏch_bảng]

[WHERE điều_kiện]

Sau UPDATE là tờn của bảng cần cập nhật dữ liệu. Một cõu lệnh UPDATE cú thể cập nhật dữ liệu cho nhiều cột bằng cỏch chỉ định cỏc danh sỏch tờn cột và biểu thức tương ứng sau từ khoỏ SET. Mệnh đề WHERE trong cõu lệnh UPDATE thường được sử dụng

để chỉ định cỏc dũng dữ liệu chịu tỏc động của cõu lệnh (nếu khụng chỉ định, phạm vi tỏc động của cõu lệnh được hiểu là toàn bộ cỏc dũng trong bảng)

Vớ dụ 2.51: Cõu lệnh dưới đõy cập nhật lại số đơn vị học trỡnh của cỏc mụn học cú số đơn vị học trỡnh nhỏ hơn 2

UPDATE monhoc SET sodvht = 3 WHERE sodvht = 2

Sử dụng cấu trỳc CASE trong cõu lệnh UPDATE

Cấu trỳc CASE cú thể được sử dụng trong biểu thức khi cần phải đưa ra cỏc quyết định khỏc nhau về giỏ trị của biểu thức

Vớ dụ 2.52: Giả sử ta cú bảng NHATKYPHONG sau đõy

Sau khi thực hiện cõu lệnh:

UPDATE nhatkyphong

SET tienphong=songay*CASE WHEN loaiphong='A' THEN 100 WHEN loaiphong='B' THEN 70 ELSE 50

END

Dữ liệu trong bảng sẽ là:

Điều kiện cập nhật dữ liệu liờn quan đến nhiều bảng

Mệnh đề FROM trong cõu lệnh UPDATE được sử dụng khi cần chỉ định cỏc điều kiện liờn quan đến cỏc bảng khỏc với bảng cần cập nhật dữ liệu. Trong truờng hợp này, trong mệnh đề WHERE thường cú điều kiện nối giữa cỏc bảng.

Vớ dụ 2.53: Giả sử ta cú hai bảng MATHANG và NHATKYBANHANG như sau:

Cõu lệnh dưới đõy sẽ cập nhật giỏ trị trường THANHTIEN của bảng NHATKYBANHANG theo cụng thức THANHTIEN = SOLUONG ì GIA

UPDATE nhatkybanhang

SET thanhtien = soluong*gia FROM mathang

WHERE nhatkybanhang.mahang = mathang.mahang

Cõu lệnh UPDATE với truy vấn con

Tương tự như trong cõu lệnh SELECT, truy vấn con cú thể được sử dụng trong mệnh đề WHERE của cõu lệnh UPDATE nhằm chỉ định điều kiện đối với cỏc dũng dữ liệu cần cập nhật dữ liệu.

Vớ dụ 2.54: Cõu lệnh ở trờn cú thể được viết như sau:

UPDATE nhatkybanhang

SET thanhtien = soluong*gia FROM mathang

WHERE mathang.mahang =(SELECT mathang.mahang FROM mathang

WHERE mathang.mahang=nhatkybanhang.mahang) (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu giao trinh SQL (Trang 54 - 56)