UPDATE là truy vấn được sử dụng để chỉnh sửa những bản ghi đã tồn tại trong bảng. Chúng tôi có thể cập nhật các cột đơn cũng như nhiều cột bằng cách sử dụng câu lệnh UPDATE theo yêu cầu của chúng tôi.
Cách sử dụng Update trong SQL
Cú pháp
UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition; table_name: Tên table column1:tên cột thứ 1, thứ 2, thứ n. value1: giá trị mới cho cột thứ 1, thứ 2, thứ n.... condition: Các dòng dữ liệu đựợc cập nhật sẽ phải thoả điều kiện này.
Trong truy vấn trên, câu lệnh SET được sử dụng để đặt các giá trị mới cho cột cụ thể và mệnh đề WHERE được sử dụng để chọn các hàng mà cột cần được cập nhật. Nếu mệnh đề WHERE không được chỉ định thì tất cả các dòng dữ liệu trong bảng sẽ được cập nhật. Vì vậy, mệnh đề WHERE được sử dụng để chọn các hàng cụ thể.
Đôi lúc, nếu bạn không cung cấp mệnh đề WHERE khi UPDATE có thể dẫn đến lỗi safe update mode. Lúc này bạn phải tắt chế độ này để có thể thực thi câu truy vấn.
Ví dụ cho bảng Student có cấu trúc như sau:
Ví dụ 1: Cập nhật giá trị của một cột – đổi tên Student thành PRATIK khi có tuổi bằng 20.
UPDATE Student SET NAME = 'PRATIK' WHERE Age = 20;
Output
ROLL_NO | NAME | ADDRESS | PHONE | Age |
1 | Ram | Delhi | XXXXXXXXXX | 18 |
2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
3 | PRATIK | ROHTAK | XXXXXXXXXX | 20 |
4 | SURESH | Delhi | XXXXXXXXXX | 18 |
3 | PRATIK | ROHTAK | XXXXXXXXXX | 20 |
2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
Ví dụ 2: Cập nhật giá trị của nhiều cột – Đổi tên thành PRATIK và Address thành SIKKIM khi ROLL_NO = 1.
UPDATE Student SET NAME = 'PRATIK', ADDRESS = 'SIKKIM' WHERE ROLL_NO = 1;
Output
ROLL_NO | NAME | ADDRESS | PHONE | Age |
1 | PRATIK | SIKKIM | XXXXXXXXXX | 18 |
2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
3 | PRATIK | ROHTAK | XXXXXXXXXX | 20 |
4 | SURESH | Delhi | XXXXXXXXXX | 18 |
3 | PRATIK | ROHTAK | XXXXXXXXXX | 20 |
2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |
Ví dụ 3 – Cập nhật toàn bộ dữ liệu trong Student – Không dùng mệnh đề WHERE
UPDATE Student SET NAME = 'PRATIK';
Output
ROLL_NO | NAME | ADDRESS | PHONE | Age |
1 | PRATIK | Delhi | XXXXXXXXXX | 18 |
2 | PRATIK | GURGAON | XXXXXXXXXX | 18 |
3 | PRATIK | ROHTAK | XXXXXXXXXX | 20 |
4 | PRATIK | Delhi | XXXXXXXXXX | 18 |
3 | PRATIK | ROHTAK | XXXXXXXXXX | 20 |
2 | PRATIK | GURGAON | XXXXXXXXXX | 18 |
Nguồn tham khảo