Thứ Ba, 25 tháng 7, 2023

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.

Mục lục

  • 1. Giới thiệu lệnh Update trong SQL Server
  • 2. Vài ví dụ với Where trong SQL Server
    • Update record theo khóa chính
    • Update nhiều field
    • Kết hợp lệnh Replace
    • Một số điều kiện khác

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.

Cú pháp lệnh Where trong SQL Server:

1
2
3
4
5
6
7
UPDATE [LOW_PRIORITY] [IGNORE] table_name
SET
    column_name1 = expr1,
    column_name2 = expr2,
    ...
[WHERE
    condition];

Trong đó các cặp column_name1 = expr1column_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:

1
2
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:

employees table png

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.

1
2
3
4
5
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é.

1
2
3
4
5
6
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.

1
2
3
4
5
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.

1
2
3
4
5
6
7
SELECT
    customername,
    salesRepEmployeeNumber
FROM
    customers
WHERE
    salesRepEmployeeNumber IS NULL;

Và IS NOT NULL.

1
2
3
4
5
6
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.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master