Cách sử dụng câu lệnh SQL UPDATE
Một trong những tính năng cốt lõi của cơ sở dữ liệu là khả năng cập nhật các giá trị đã lưu trữ. Bạn có thể thay đổi giá trị của bất kỳ bản ghi nào trong cơ sở dữ liệu tại bất kỳ thời điểm nào. Các giá trị bên trong cơ sở dữ liệu SQL được thay đổi bằng câu lệnh SQL UPDATE.
Trong hướng dẫn này, chúng ta sẽ thảo luận về câu lệnh SQL UPDATE là gì và cách bạn có thể sử dụng nó. Chúng ta sẽ đi qua các ví dụ minh họa để giúp bạn hiểu rõ cách thức hoạt động của nó.
SQL UPDATE là gì?
Câu lệnh UPDATE được dùng để cập nhật dữ liệu hiện có trong một bảng SQL.
Nó có thể được sử dụng để sửa đổi tất cả các bản ghi trong cơ sở dữ liệu hoặc chỉ những bản ghi đáp ứng một điều kiện hoặc tập hợp các điều kiện nhất định. Dưới đây là cấu trúc của một truy vấn SQL UPDATE điển hình:
UPDATE ten_bang SET cot1 = gia_tri1, cot2 = gia_tri2... WHERE dieu_kien;
- ten_bang: tên của bảng chứa các bản ghi bạn muốn cập nhật.
- Các câu lệnh sau từ khóa SET là tên các cột bạn muốn cập nhật, theo sau là dấu bằng và giá trị mới muốn gán. Để cập nhật nhiều cột, hãy phân tách từng cặp cột/giá trị bằng dấu phẩy.
SQL UPDATE trong thực hành
Giả sử chúng ta có bảng employees với dữ liệu sau:
| id | name | title | hired_date | salary |
|---|---|---|---|---|
| 1 | Thomas Carlton | Sales Associate | 09-08-2019 | 28000 |
| 2 | Lisa Ingles | Sales Associate | 12-09-2019 | 28000 |
| 3 | Victoria Carlisle | Sales Director | 04-02-2017 | 36000 |
Cập nhật một bản ghi
Lisa Ingles vừa kết hôn và đổi họ thành Nelson. Chúng ta dùng UPDATE để thay đổi tên của cô ấy:
UPDATE employees SET name = 'Lisa Nelson' WHERE id = 2;
Lệnh này chỉ thay đổi cột name. Kiểm tra lại bản ghi:
| id | name | title | hired_date | salary |
|---|---|---|---|---|
| 2 | Lisa Nelson | Sales Associate | 12-09-2019 | 28000 |
Họ của Lisa đã được cập nhật thành công.
Cập nhật nhiều bản ghi
Bạn có thể cập nhật nhiều bản ghi hiện có trong một bảng bằng một câu lệnh UPDATE duy nhất. Thông thường, mệnh đề WHERE được sử dụng để đảm bảo chỉ các bản ghi nhất định được cập nhật.
Ban lãnh đạo quyết định đổi tên chức danh "Sales Associate" thành "Sales Representative". Lệnh UPDATE:
UPDATE employees SET title = 'Sales Representative' WHERE title = 'Sales Associate';
Kiểm tra kết quả:
| id | name | title | hired_date | salary |
|---|---|---|---|---|
| 1 | Thomas Carlton | Sales Representative | 09-08-2019 | 28000 |
| 2 | Lisa Nelson | Sales Representative | 12-09-2019 | 28000 |
| 3 | Victoria Carlisle | Sales Director | 04-02-2017 | 36000 |
Chức danh của Thomas và Lisa đã thay đổi. Victoria vẫn giữ nguyên vì cô là Sales Director.
Cập nhật tất cả bản ghi
Mặc định, câu lệnh UPDATE sẽ sửa đổi tất cả các bản ghi trong bảng. Bạn cần chỉ định mệnh đề WHERE để ghi đè hành vi này.
Mọi nhân viên đều nhận được tăng lương 5%. Sử dụng UPDATE:
UPDATE employees SET salary = salary * 1.05;
Lệnh này nhân mức lương hiện tại với 1.05 (tăng 5%). Kiểm tra bảng:
| id | name | title | hired_date | salary |
|---|---|---|---|---|
| 1 | Thomas Carlton | Sales Representative | 09-08-2019 | 29400 |
| 2 | Lisa Nelson | Sales Representative | 12-09-2019 | 29400 |
| 3 | Victoria Carlisle | Sales Director | 04-02-2017 | 37800 |
Lương của tất cả nhân viên đã được cập nhật thành công.
Kết luận
Câu lệnh UPDATE sửa đổi một hoặc nhiều bản ghi trong cơ sở dữ liệu. Thường được sử dụng kết hợp với mệnh đề WHERE để chọn chính xác các bản ghi cần sửa đổi.
Nếu bạn muốn thử thách bản thân, hãy viết các lệnh để:
- Tăng lương 2% cho tất cả Sales Representative.
- Thay đổi chức danh của Lisa thành Senior Sales Representative.
- Cập nhật ngày tuyển dụng của Victoria Carlisle thành 04-03-2017.
Bây giờ bạn đã sẵn sàng sử dụng câu lệnh UPDATE như một chuyên gia SQL!