Lệnh Update trong SQL Server
Trong bài này chúng ta sẽ tìm hiểu lệnh update trong SQL Server, đây là lệnh dùng để cập nhật dữ liệu của một table nào đó, thường sẽ đi kết hợp với lệnh Where.
1. Giới thiệu lệnh Update trong SQL Server
Lệnh update giúp bạn cập nhật dữ liệu có sẵn trong table, thường sẽ update theo một điều kiện khóa chính.
Ví dụ: Bạn vô tình nhập sai thông tin của sinh viên mã sô SV001 thì bạn sẽ xử lý lại bằng cách update lại thông tin theo mã số sinh viên đó.
Nếu bạn không nhập điều kiện thì nó sẽ update toàn bộ các record trong bảng.
Bài viết này được đăng tại [free tuts .net]
Cú pháp lệnh Where trong SQL Server:
UPDATE [LOW_PRIORITY] [IGNORE] table_name SET column_name1 = expr1, column_name2 = expr2, ... [WHERE condition];
Trong đó các cặp column_name1 = expr1
, column_name2 = expr2
chính là các cặp tên_field = value
mà bạn muốn update. Không nhất thiết phải nhập tất cả các field trong table mà chỉ nhập vào những field mà bạn muốn update mà thôi.
Ví dụ bạn muốn update tên sinh viên và năm sinh thôi thì chỉ cần nhập vào:
ten_sinh_vien = 'tên của sinh viên', nam_sinh = 'năm sinh'
Điều kiện condition sẽ giúp bạn lọc được đúng record muốn áp dụng. Nếu bạn không nhập conditon thì nó sẽ update cho toàn bộ các records đang có trong table.
2. Vài ví dụ với Where trong SQL Server
Hãy làm một vài ví dụ về cách update dữ liệu sẽ gúp bạn hiểu rõ hơn.
Update record theo khóa chính
Khóa chính là duy nhất trong table nên khi update theo điều kiện khóa chính sẽ ứng dụng cho một row duy nhất.
Giả sử có bảng emplyees như sau:
Yêu cầu của bài toán là hãy thay đổi email của nhân viên có mã số 1056
.
UPDATE employees SET email = 'mary.patterson@classicmodelcars.com' WHERE employeeNumber = 1056;
Update nhiều field
Để update nhiều field thì ta chỉ đặt chúng cách nhau bởi dấu phẩy trong mục SET nhé.
UPDATE employees SET lastname = 'Hill', email = 'mary.hill@classicmodelcars.com' WHERE employeeNumber = 1056;
Như trong ví dụ này mình đã update hai field, đó là lastname và email.
Kết hợp lệnh Replace
Giả sử bạn muốn thay đổi phần đuôi email của một nhân viên nào đó mà bạn chỉ nhớ tên email, tên job và mã văn phòng mà thôi. Lúc này bạn sẽ sử dụng nhiều lệnh ở Where và lệnh Replace.
UPDATE employees SET email = REPLACE(email,'@classicmodelcars.com','@mysqltutorial.org') WHERE jobTitle = 'Sales Rep' AND officeCode = 6;
Một số điều kiện khác
Lệnh Update trong SQL Server thực ra nó là câu lệnh riêng biệt, vì vậy bạn có thể kết hợp với Where với nhiều điều kiện khác nhau.
Dưới đây là cách kết hợp với IS NULL.
SELECT customername, salesRepEmployeeNumber FROM customers WHERE salesRepEmployeeNumber IS NULL;
Và IS NOT NULL.
SELECT salesRepEmployeeNumber FROM customers WHERE salesRepEmployeeNumber IS NOT NULL;
Quá đơn giản phải không các bạn!
Như vậy là mình đã hướng dẫn xong cách sử dụng lệnh Update trong SQL Server. Đây là một trong những lệnh được sử dụng khá nhiều bởi nó giúp bạn cập nhật thông trong bảng một cách đơn giản. Hầy như 100% ứng dụng có sử dụng lệnh này.