Lệnh UPDATE trong SQL

Câu lệnh UPDATE trong SQL là gì? Sử dụng UPDATE SQL như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!

Trong thời đại công nghệ thông tin ngày càng cần thiết với cuộc sống, nhu cầu học lập trình cũng không ngừng tăng lên và trở thành một ngành “hot” nhất hiện nay. Lập trình đòi hỏi tư duy logic cao và học tập, nghiên cứu thật sự nghiêm túc bởi nó thật sự là một môn học khó. Tuy nhiên, nếu thật sự đam mê, không có gì là bạn không thể học được. Một khi có kiến thức về lập trình, bạn dễ dàng sáng tạo ra những ứng dụng, chương trình hay phần mềm yêu thích. Thật tuyệt vời phải không?

Lập trình có rất nhiều ngôn ngữ cho bạn lựa chọn. Bạn có thể thoải mái chọn một ngôn ngữ yêu thích cho mục tiêu đang hướng tới. Tuy nhiên, dù chọn học ngôn ngữ nào, bạn cũng nên biết về SQL - Ngôn ngữ truy vấn có cấu trúc. Nó phục vụ cho việc lưu và xử lý thông tin. Nó tích hợp hiệu quả với nhiều ngôn ngữ lập trình khác nhau.

Thực tế, sử dụng SQL cũng không quá khó. Hãy bắt đầu từ những hàm và lệnh cơ bản nhất. Ở bài viết này, chúng ta hãy cùng tìm hiểu về update table trong SQL nhé!

Lệnh Update trong SQL

Về cơ bản, câu lệnh UPDATE SQL thường được dùng để chỉnh sửa các bản ghi hiện có trong một bảng. Nó là một phần của Data Manipulation Language - Ngôn ngữ thao tác dữ liệu. Việc chỉnh sửa dữ liệu bằng lệnh UPDATE không hề ảnh hưởng tới cấu trúc bảng.

Vì UPDATE chỉ tương tác với dữ liệu trong bảng nên hãy dùng nó thật cản thận. Nếu không chọn hàng cần chỉnh sửa trước, dữ liệu trong bảng có thể sẽ bị ảnh hưởng. Bạn có thể cần phải chèn lại nó hoặc bị mất dữ liệu quan trọng.

Vì thế, để lọc bảng ghi cần sửa đổi, bạn có thể dùng mệnh đề WHERE. Dùng WHERE, bạn có thể update một hàng hoặc nhiều hàng.

Lệnh Update trong SQL dùng các khóa trên mỗi hàng, đồng thời, chỉnh sửa chúng trong một bảng. Khi hàng được chỉnh sửa, khóa sẽ được triển khai. Vì thế, nó có thể tạo ra thay đổi tới một hàng hoặc nhiều hàng bằng một truy vấn.

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ứ Năm, 09/11/2023 17:22
3,831 👨 287.326
1 Bình luận
Sắp xếp theo
  • Đinh Châu Minh Tiên
    Đinh Châu Minh Tiên

    vậy muốn tăng gấp đôi giá bán các sản phẩm trong bảng có chung mã loại sản phẩm (nhưng giá khác nhau) thì làm sao ạ?

    Thích Phản hồi 28/10/22
    ❖ Học SQL