Phât biểu SQL dạng UPDATE dùng cập nhật lại dữ liệu đê tồn tại trong bảng. Khi UPDATE
dùng cập nhật dữ liệu cho một mẩu tin chỉ định năo đó thường UPDATE sử dụng chung với mệnh đề
WHERE.
Nếu cần cập nhật tất cả câc mẩu tin trong bảng bạn có thể bỏ mệnh đề WHERE. Phât biểu năy có cấu trúc như sau:
/* nếu cập nhất giâ trị cụ thể */
Update <table name>
Set <column>=<value>,[<column>=<value>] [where <restrictive conditions>]
/* nếu cập nhất giâ trị lă kết quả trả về từ phât biểu select trín một hay nhiều bảng khâc */
Update <table name>
Set <column>=<select .. from tablename where ...> [where <restrictive conditions>]
UPDATE có thể ảnh hưởng đến nhiều bảng, nhưng cập nhất giâ trị chỉ có hiệu lực trín bảng đó, bạn có thể tham khảo phần năy trong chương kế tiếp JOINTABLE.
Cập nhật giâ trị cụ thể văo một hay nhiều cột minh hoạ trong ví dụ 8-18 sau:
Ví dụ 8-18: UPDATE trín câc cột dữ liệu từ giâ trị cụ thể
/* cập nhật cột với giâ trị cụ thể */
Update tblCustomers
Set CustName='Cong ty TNHH Coca cola Vietnam' Where CustID=‘12’
/* cập nhật một cột với giâ trị cột khâc trong bảng tblOrderDetails*/
Update tblOrders
Set Amount= Amount*.01, TotalAmount=Amount*0.1 Where Month(OrderDate)=12
/* cập nhật một cột với giâ trị từ bảng khâc*/
/* cập nhật cột Price với giâ trị từ cột Cost của bảng tblItems, khai bâo sau chỉ đúng trong MySQL 4.1 trở về sau*/
Set Price=
(select distinct Cost] from tblItems
where ItemID=tblOrderDetails.ItemID) Where Price<1000
/* cập nhật một cột với giâ trị cụ thể với điều kiện từ bảng khâc, , khai bâo sau chỉ đúng trong MySQL 4.1 trở về sau */
Update tblOrderDetails Set Price= Price*10, Amount= Qtty*(Price+1) Where ItemID in
(select distinct ItemID from tblOrderDetails where Price>1000)