02. Lệnh UPDATE trong SQL

Lệnh UPDATE trong SQL

Lệnh UPDATE trong SQL được dùng để chỉnh sửa dữ liệu sẵn có trong database.

Ta có thể dùng lệnh UPDATE để chỉ ra rằng ta muốn chỉnh sửa cụ thể từng trường, hàng nào bằng cách sử dụng các điều kiện kèm với mệnh đề WHERE.

Hình thức của câu lệnh UPDATE như sau:

UPDATE ten_bang SET [ten_cot1 = gia_tri1,...,ten_cotn = gia_trin] [WHERE condition]

Ví dụ cách sử dụng lệnh UPDATE trong SQL

Ta xét bảng ‘Users’ sau:

ID

Ten

Ho

Tai_khoan

1

Hung

Tran

hungtran

2

Hung

Pham Kim

hungkim

3

Dung

Tran

dungtran

Khi bạn muốn cập nhật cho trường ‘Tai_khoan” của Tran Hung từ ‘hungtran’ sang ‘tranhung’, bạn có thể dùng câu lệnh sau.

UPDATE Users

SET Tai_khoan = 'tranhung'

WHERE ID=1;

 Kết quả sau khi chạy lệnh UPDATE sẽ là:

ID

Ten

Ho

Tai_khoan

1

Hung

Tran

tranhung

2

Hung

Pham Kim

hungkim

3

Dung

Tran

dungtran

Bạn có thể cập nhật nhiều trường trong một câu lệnh UPDATE.

Ví dụ khi bạn muốn chỉnh sửa từ  Tran” sang “Tran Quang” và ‘dungtran’ sang ‘dunztran’, bạn có thể dùng câu lệnh sau:

UPDATE Users

SET Tai_khoan = 'dunztran', Ho='Tran Quang'

WHERE ID=3;

Kết quả bạn thu được sau khi chạy câu lệnh trên như sau:

ID

Ten

Ho

Tai_khoan

1

Hung

Tran

tranhung

2

Hung

Pham Kim

hungkim

3

Dung

Tran Quang

dunztran

Chú ý: Những cú pháp của các ví dụ trong bài học này là cú pháp dành cho MySQL

Cách sử dụng lệnh UPDATE cùng với lệnh SELECT

Chúng ta có thể sử dụng lệnh SELECT để cập nhật, chỉnh sửa các bản ghi thông qua lệnh UPDATE.

Cú pháp:

UPDATE bang_dich

SET ten_cot_bang_dich = ( 

SELECT ten_cot_bang_nguon  

FROM  bang_nguon

WHERE dieu_kien1)  WHERE dieu_kien2;

Xét một bảng khác có tên "Admins":

ID

Role

Ten

Tai_khoan

1

Admin

Vi

thuyvi

2

Admin

Du

chudu

3

Khach

Duong

thamdzuong

Khi bạn muốn UPDATE bảng Admins với dữ liệu từ bảng Users, bạn có thể dùng câu lệnh sau:

UPDATE Admins

SET Ten = (SELECT Ten FROM Users WHERE Admins.Ten = Users.Ten) 

WHERE ID>1;

Trong câu lệnh trên vì điều kiện của mệnh đề WHERE không được thỏa mãn (Admins.Ten = Users.Ten), nên kết quả trả về sẽ là 'NULL'. Ta kiểm tra lại nội dung bảng Admins sau khi chạy lệnh trên:

SELECT * FROM Admins;

** Nếu bạn muốn viết các nội dung đặt biệt thì hãy làm theo hướng dẫn sau

Xem thêm 10 bình luận
Viết blog mới của bạn
Báo lỗi trang
Đang tải