Câu lệnh SQL UPDATE
Câu lệnh UPDATE table SET ... WHERE ... dùng để cập nhật dữ liệu 1 hoặc nhiều dòng (records).
Cú pháp UPDATE
Chúng ta có thể sử dụng câu lệnh UPDATE với 2 cách sau:
Cách 1: UPDATE dữ liệu toàn bộ các dòng (records) tương ứng với các cột có trong table (còn gọi là UPDATE không điều kiện WHERE).
Cú pháp như sau:
UPDATE table_name
SET column1 = value1,
column2 = value2, ...;
Cách này cần phải sử dụng cẩn thận, nếu không có điều kiện WHERE dòng dữ liệu (record) cụ thể. Dữ liệu trong toàn bộ bảng (table) sẽ được cập nhật lại tất cả.
Cách 2: UPDATE dữ liệu của 1 hoặc nhiều các dòng (records) tương ứng với các cột có trong table thỏa điều kiện cụ thể (còn gọi là UPDATE có điều kiện WHERE).
Cú pháp như sau:
UPDATE table_name
SET column1 = value1,
column2 = value2, ...
WHERE condition1
AND condition2
OR condition3 ...;
Cách này thường được sử dụng trong dự án.
Ví dụ 1: Cập nhật 1 dòng dữ liệu (record) cụ thể trong bảng (table) Nhà cung cấp shop_suppliers theo điều kiện WHERE = id
UPDATE dữ liệu cho dòng (record) có id=6 trong table Nhà cung cấp shop_suppliers :
id |
supplier_code |
supplier_name |
description |
image |
created_at |
updated_at |
6 |
SUP_GOOGLE |
Google Company |
Công ty Google, công cụ Search nổi tiếng |
suppliers/google_new_logo.jpg |
2020-02-17 16:08:53 |
2020-08-15 12:51:53 |
Step 1: Chuẩn bị câu lệnh UPDATE query
- Lưu đồ xử lý việc UPDATE dữ liệu
-- UPDATE dữ liệu trong table `shop_suppliers` với điều kiện id=6
UPDATE `shop_suppliers`
SET supplier_code='SUP_GOOGLE',
supplier_name='Google Company',
description=N'Công ty Google, công cụ Search nổi tiếng',
image='suppliers/google_new_logo.jpg',
updated_at='2020-08-15 12:51:53'
WHERE id=6;
Step 2: thực thi (Execute) câu lệnh SQL query trong HeidiSQL
Ví dụ 2: cập nhật giá niêm yết (cột standard_cost ) của tất cả sản phẩm trong table shop_products tăng lên 500.000đ
Thực thi câu lệnh sau:
-- UPDATE cột `standard_cost` của tất cả các dòng (records) trong table `shop_products` tăng lên 500.000đ
-- Công thức: lấy giá hiện tại của cột `standard_cost` + 500000
UPDATE `shop_products`
SET standard_cost = standard_cost + 500000;
|