Lệnh UPDATE trong SQL

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. Bạn có thể sử dụng mệnh đề WHERE với lệnh UPDATE để cập nhật các hàng được chọn, nếu không muốn tất cả các hàng trong bảng bị ảnh hưởng.

Cú pháp lệnh UPDATE trong SQL

UPDATE TEN_BANG
SET cot1 = gia_tri1, cot2 = gia_tri2...., cotN = gia_triN
WHERE [DIEU_KIEN];

Nếu muốn sử dụng nhiều hơn một điều kiện trong WHERE, bạn đừng quên toán tử AND và OR mà chúng ta đã biết tới trong bài SQL trước nhé.

Lưu ý: Hãy cẩn thận khi cập nhật các bản ghi trong một bảng! Chú ý tới mệnh đề WHERE trong lệnh UPDATE. Mệnh đề WHERE chỉ định (các) bản ghi nào cần được cập nhật. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi trong bảng sẽ được cập nhật!

Ví dụ về lệnh UPDATE trong SQL

Update 1 bản ghi với điều kiện cụ thể

Trong ví dụ này, ta sẽ dùng lệnh UPDATE để cập nhật trường DIACHI cho nhân viên có ID là 3, từ Hanam thành Hanoi.

+----+------+-----+--------+--------+
|ID  |TEN   |TUOI |DIACHI  |LUONG   | 
+----+------+-----+--------+--------+ 
|1   |Thanh |24   |Haiphong| 2000.00| 
|2   |Loan  |26   |Hanoi   | 1500.00| 
|3   |Nga   |24   |Hanam   | 2000.00| 
|4   |Mạnh  |29   |Hue     | 6500.00| 
|5   |Huy   |28   |Hatinh  | 8500.00| 
|6   |Cao   |23   |HCM     | 4500.00| 
|7   |Lam   |29   |Hanoi   |15000.00| 
+----+------+-----+--------+--------+

Câu lệnh sẽ như sau:

UPDATE NHANVIEN 
SET DIACHI = 'Hanoi' 
WHERE ID = 3;

Bảng NHANVIEN ban đầu sẽ trở thành như sau:

+----+------+-----+--------+--------+
|ID  |TEN   |TUOI |DIACHI  |LUONG   | 
+----+------+-----+--------+--------+ 
|1   |Thanh |24   |Haiphong| 2000.00| 
|2   |Loan  |26   |Hanoi   | 1500.00| 
|3   |Nga   |24   |Hanoi   | 2000.00| 
|4   |Mạnh  |29   |Hue     | 6500.00| 
|5   |Huy   |28   |Hatinh  | 8500.00| 
|6   |Cao   |23   |HCM     | 4500.00| 
|7   |Lam   |29   |Hanoi   |15000.00| 
+----+------+-----+--------+--------+

Update nhiều bản ghi

Trong ví dụ bảng nhân viên trên, nếu bây giờ bạn muốn thay đổi những người ở Hanoi với mức LUONG thấp hơn 2000 sẽ được nâng lên thành 3000, câu lệnh cụ thể sẽ như sau:

UPDATE NHANVIEN 
SET LUONG = 3000 
WHERE DIACHI = "Hanoi' AND LUONG <=2000;

Kết quả sau khi chạy lệnh trên, bạn sẽ có kết quả bảng dữ liệu như sau:

+----+------+-----+--------+--------+
|ID  |TEN   |TUOI |DIACHI  |LUONG   | 
+----+------+-----+--------+--------+ 
|1   |Thanh |24   |Haiphong| 2000.00| 
|2   |Loan  |26   |Hanoi   | 3000.00| 
|3   |Nga   |24   |Hanoi   | 3000.00| 
|4   |Mạnh  |29   |Hue     | 6500.00| 
|5   |Huy   |28   |Hatinh  | 8500.00| 
|6   |Cao   |23   |HCM     | 4500.00| 
|7   |Lam   |29   |Hanoi   |15000.00| 
+----+------+-----+--------+--------+

Update toàn bộ các bản ghi

Nếu muốn chỉnh sửa tất cả các giá trị trong cột DIACHI và LUONG trong bảng NHANVIEN thì không cần sử dụng mệnh đề WHERE, chỉ cần dùng lệnh UPDATE như dưới đây là đủ:

UPDATE NHANVIEN 
SET DIACHI = 'Hanoi', LUONG = 10000.00;

Bây giờ bảng NHANVIEN sẽ trở thành:

+----+------+-----+--------+--------+
|ID  |TEN   |TUOI |DIACHI  |LUONG   | 
+----+------+-----+--------+--------+ 
|1   |Thanh |24   |Hanoi   |10000.00| 
|2   |Loan  |26   |Hanoi   |10000.00| 
|3   |Nga   |24   |Hanoi   |10000.00| 
|4   |Mạnh  |29   |Hanoi   |10000.00| 
|5   |Huy   |28   |Hanoi   |10000.00| 
|6   |Cao   |23   |Hanoi   |10000.00| 
|7   |Lam   |29   |Hanoi   |10000.00| 
+----+------+-----+--------+--------+

Lệnh UPDATE trong SQL cũng khá dễ để sử dụng đúng không nào? Trong phần tới, chúng ta sẽ tìm hiểu về truy vấn DELETE trong SQL bạn nhé.

Thứ Sáu, 05/08/2022 13:51
3,826 👨 213.430
0 Bình luận
Sắp xếp theo