Lệnh UPDATE trong SQL

Câu lệnh update trong SQL thường được dùng như thế nào? Hãy cùng nhau tìm hiểu mọi điều cần biết về cách dùng update SQL nhé!

Dữ liệu là cốt lõi của mọi ứng dụng và SQL (Ngôn ngữ truy vấn có cấu trúc) quản lý và tương tác với dữ liệu này. Cho dù chúng ta đang xử lý cơ sở dữ liệu người dùng nhỏ hay phân tích hàng terabyte hồ sơ bán hàng, SQL cho phép truy vấn, cập nhật và quản lý hiệu quả các cơ sở dữ liệu quan hệ.

SQL là viết tắt của Structured Query Language (Ngôn ngữ truy vấn có cấu trúc). Ngôn ngữ này cho phép người dùng thực hiện nhiều tác vụ khác nhau như truy vấn dữ liệu, tạo và sửa đổi cấu trúc cơ sở dữ liệu và quản lý quyền truy cập. SQL được sử dụng rộng rãi trên nhiều hệ thống quản lý cơ sở dữ liệu quan hệ như MySQL, PostgreSQL, Oracle và SQL Server.

Khi dữ liệu cần được truy xuất từ cơ sở dữ liệu, SQL được sử dụng để xây dựng và gửi yêu cầu. Hệ thống quản lý cơ sở dữ liệu (DBMS) xử lý truy vấn SQL, truy xuất dữ liệu được yêu cầu và trả về cho người dùng hoặc ứng dụng. Thay vì chỉ định các thủ tục từng bước, các câu lệnh SQL mô tả dữ liệu nào cần được truy xuất, sắp xếp hoặc sửa đổi, cho phép DBMS xử lý cách thực hiện các hoạt động một cách hiệu quả.

.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ứ Ba, 11/03/2025 15:11
3,831 👨 315.356
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
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