Cập nhật dữ liệu với UPDATE

Cập nhật dữ liệu với lệnh UPDATE trong SQL

Giới thiệu

Trong chương trước, chúng ta đã tìm hiểu về Câu lệnh INSERT INTO trong SQL và cách sử dụng Câu lệnh INSERT INTO.
Trong chương này, chúng ta sẽ tìm hiểu cách UPDATE SQL hoạt động và các tùy chọn khác nhau được sử dụng với câu lệnh UPDATE.

Câu lệnh UPDATE trong SQL

Câu lệnh SQL UPDATE được sử dụng để sửa đổi các bản ghi dữ liệu hiện có trong một bảng. Câu lệnh SQL UPDATE được sử dụng để cập nhật dữ liệu từ một hoặc nhiều bảng cơ sở dữ liệu.
Câu lệnh UPDATE trong SQL thay đổi dữ liệu của một hoặc nhiều bản ghi trong một bảng. Tất cả các hàng có thể được cập nhật hoặc một tập hợp con có thể được chọn bằng cách sử dụng một điều kiện.
Câu lệnh SQL UPDATE có dạng sau Câu lệnh SQL Update được sử dụng để cập nhật các bản ghi từ bảng dữ liệu RDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ).
Câu lệnh UPDATE SQL có thể là CẬP NHẬT bản ghi, CẬP NHẬT một tập hợp bản ghi dựa trên một điều kiện, lọc bản ghi, sắp xếp bản ghi, nhóm theo bản ghi, v.v.
Dưới đây là một số trường hợp sử dụng của câu lệnh UDAPTE SQL.
Lưu ý:  Câu lệnh UPDATE được sử dụng để cập nhật các bản ghi trong một bảng! Lưu ý mệnh đề WHERE trong câu lệnh UPDATE.
Mệnh đề WHERE chỉ định (những) bản ghi nào sẽ đượ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!
Cú pháp
  1. UPDATE table_name
  2. SET column1 = value1, column2 = value2, …
  3. WHERE condition;

Câu lệnh UPDATE thường có ba phần:

  1. Tên bảng cần cập nhật
  2. Mệnh đề SET chỉ định các cột cần cập nhật
  3. Mệnh đề WHERE chỉ định những hàng nào sẽ được đưa vào bản cập nhật đang mở
Ví dụ 

Câu lệnh UPDATE nhiều bản ghi 

Đây là mệnh đề WHERE xác định số lượng bản ghi sẽ được cập nhật
Câu lệnh SQL sau sẽ cập nhật empName thành “Manoj” cho tất cả các bản ghi trong đó EmpCity là “Noida”
Cú pháp 
  1. USE Sample;
  2. GO
  3. UPDATE EmployeeDetail
  4. SET EmpName=‘Manoj’ Where EmpAddress=‘Noida’
  5. GO
Ví dụ 
UPDATE mệnh đề WHERE 
Trong ví dụ này, bạn có thể sử dụng mệnh đề WHERE để chỉ định những hàng nào cần cập nhật.
Câu lệnh này cập nhật giá trị trong EmpName của EmployeeDetail
Bảng EmployeDetail cho tất cả các hàng có giá trị hiện tại là ‘Noida’ trong EmpAddress và có giá trị trong cột EmpName bắt đầu bằng EmpAddress
  1. USE Sample;
  2. GO
  3. UPDATE EmployeeName.Name
  4. SET EmpName = ‘Rahul’
  5. WHERE Name LIKE N‘R’ AND Address= ‘Noida’;
  6. GO

UPDATE câu lệnh TOP trong SQL

Câu lệnh TOP để giới hạn số lượng hàng được sửa đổi trong câu lệnh UPDATE. Khi mệnh đề TOP (n) được sử dụng với UPDATE, thao tác cập nhật được thực hiện trên lựa chọn ngẫu nhiên số hàng ‘n‘.
Ví dụ sau cập nhật 3 hàng ngẫu nhiên trên cùng trong bảng EmployeDetails
Cú pháp 
  1. UPDATE top (3)  EmployeeDetail set EmpAddress = 1
Ví dụ 
Câu lệnh TOP áp dụng các bản cập nhật theo trình tự thời gian có ý nghĩa, bạn phải sử dụng TOP cùng với ORDER BY trong câu lệnh chọn phụ.
Ví dụ sau cập nhật TOP 3 EmpAddress.

Câu lệnh UPDATE với label 

Sau đây là một ví dụ For LABEL cho câu lệnh UPDATE.
Cú pháp
  1. UPDATE EmployeeDetail
  2. SET  EmpName = ‘Rahul’
  3. WHERE EmpId = 1
  4. OPTION (LABEL = N‘label1’);
Ví dụ 
 

UPDATE – Chỉ định giá trị được tính toán 

Các ví dụ sau sử dụng các giá trị được tính toán trong câu lệnh UPDATE. Ví dụ nhân đôi giá trị trong cột EmployeeName cho tất cả các hàng trong bảng EmployeeDetails.
Cú pháp  
  1. UPDATE EmployeeDetail
  2. SET EmpName = ‘Rohan’
  3. WHERE EmpId = 1;
Ví dụ 

UPDATE – Chỉ định toán tử ghép 

Toán tử chỉ định hợp chất thực hiện một số thao tác và đặt giá trị ban đầu cho kết quả của thao tác.
Ví dụ: nếu một biến @x bằng 34, thì @x += 2 lấy giá trị ban đầu của @x, thêm 2 và đặt @x thành giá trị mới đó (36).
Cú pháp 
 

UPDATE bảng với dữ liệu từ một bảng khác 

Câu lệnh UPDATE đang thực hiện cập nhật truyền thống hoặc cập nhật một bảng với dữ liệu từ một bảng khác.
Cú pháp 
  1. UPDATE table1
  2. SET column1 = (SELECT expression1
  3.                FROM table2
  4.                WHERE conditions)
  5. [WHERE conditions];
Ví dụ
UPDATE Hàng trong Remote Tables  
UPDATE hàng trong bảng mục tiêu từ xa bằng cách sử dụng máy chủ được liên kết hoặc chức năng tập hợp hàng để tham chiếu bảng từ xa.

UPDATE để sửa đổi dữ liệu FILESTREAM 

Câu lệnh UPDATE đã sử dụng dữ liệu trong tệp hệ thống tệp. Chúng tôi không khuyến nghị phương pháp này để truyền một lượng lớn dữ liệu vào một tệp. Sử dụng các giao diện Win32 thích hợp. Ví dụ sau thay thế bất kỳ văn bản nào trong bản ghi tệp bằng văn bản Xray 1. Để biết thêm thông tin,
  1. UPDATE  Name.EmployeeDetail
  2. SET [Chart] = CAST(‘Xray 1’ as varbinary(max))
  3. WHERE [EmployeeDetail] = 2;

UPDATE Dữ liệu Sử dụng kiểu dữ liệu hệ thống

Chúng tôi có thể UPDATE UDT (loại do người dùng xác định) bằng cách cung cấp một giá trị trong loại dữ liệu hệ thống SQL Server, miễn là loại do người dùng xác định hỗ trợ chuyển đổi ẩn hoặc rõ ràng từ loại đó.
Ví dụ sau đây cho thấy cách cập nhật một giá trị trong một cột thuộc loại Point do người dùng xác định, bằng cách chuyển đổi rõ ràng từ một chuỗi.
  1. UPDATE dbo.EmployeeDetail
  2. SET EmpName = CONVERT(Point, ‘12.3:46.2’)
  3. WHERE EmpName = ‘Anchorage’;

Update – Sửa đổi giá trị của thuộc tính hoặc thành viên dữ liệu 

UPDATE sửa đổi UDT bằng cách sửa đổi giá trị của thuộc tính đã đăng ký hoặc thành viên dữ liệu công khai của loại do người dùng xác định.
Biểu thức cung cấp giá trị phải được chuyển đổi hoàn toàn thành loại thuộc tính. Ví dụ sau sửa đổi giá trị của thuộc tính X của kiểu Point do người dùng định nghĩa.
  1. UPDATE EmployeeDetail
  2. SET  EmpCity.X = 23.5
  3. WHERE EmpName = ‘Manoj’;

Update – Ghi đè Hành vi Mặc định của Trình tối ưu hóa Truy vấn bằng cách Sử dụng Hints

Phần này trình bày cách sử dụng bảng và gợi ý truy vấn để tạm thời ghi đè hành vi mặc định của trình tối ưu hóa truy vấn khi xử lý câu lệnh UPDATE.
THẬN TRỌNG
Trình tối ưu hóa truy vấn SQL SERVER thường chọn kế hoạch thực hiện tốt nhất cho truy vấn,
Chúng tôi khuyên các nhà phát triển và quản trị viên cơ sở dữ liệu có kinh nghiệm chỉ nên sử dụng các gợi ý như là phương án cuối cùng.

Cảnh báo cập nhật! 

Lưu ý:  Hãy cẩn thận khi cập nhật hồ sơ. Nếu bạn bỏ qua mệnh đề WHERE, TẤT CẢ các bản ghi sẽ được cập nhật!
Cú pháp  
  1. UPDATE table1
  2. SET column1 = (SELECT expression1
  3.                FROM table2
  4.                WHERE conditions)
  5. [WHERE conditions];
Ví dụ
 

(Source: https://www.c-sharpcorner.com/)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *