5. PHÁT BIỂU SQL
5.8. Phát biểu SQLd ạng UPDATE
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 JOIN TABLE. 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*/
Update tblOrderDetails Set Price=
Trang 139 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)