✨Update (SQL)

Update (SQL)

Câu lệnh SQL UPDATE thay đổi hay cập nhật dữ liệu của một hay nhiều hàng trong bảng dữ liệu. Tùy theo điều kiện mà một số hàng hay tất cả các hàng trong bảng sẽ bị thay đổi.

Câu lệnh UPDATE có cấu trúc như sau:

:UPDATE _tablename SET _columnname = value [, _columnname = value...] [WHERE condition]

Để thực thi câu lệnh UPDATE, người dùng phải có quyền sửa chữa dữ liệu (data manipulation privileges) (quyền UPDATE) trên bảng hay cột, các dữ liệu được cập nhật phải thỏa các ràng buộc (như từ khóa chính, chỉ số duy nhất (unique indexes), ràng buộc CHECK, và ràng buộc không rỗng NOT NULL).

Ví dụ

Thay đổi giá trị ở cột C1 trong bảng T thành "1" ở những hàng có giá trị "a" ở cột C2.

UPDATE T SET C1 = 1 WHERE C2 = 'a'

Tăng giá trị ở cột C1 lên 1 nếu như giá trị trong cột C2 là "a".

UPDATE T SET C1 = C1 + 1 WHERE C2 = 'a'

Thêm tiền tố "text" vào giá trị ở cột C1 nếu như giá trị ở cột C2 là "a".

UPDATE T SET C1 = 'text' || C1 WHERE C2 = 'a'

Thay đổi giá trị ở cột C1 trong bảng T1 thành "2" nếu như giá trị trong cột C2 là một trong những giá trị tìm thấy ở cột C3 trong bảng T2 với giá trị trong cột C4 bằng 0.

UPDATE T1 SET C1 = 2 WHERE C2 IN (SELECT C3 FROM T2 WHERE C4 = 0)

Cũng có thể đồng thời cập nhật dữ liệu trên nhiều cột:

UPDATE T SET C1 = 1, C2 = 2

Sử dụng điều kiện phức tạp:

UPDATE T SET A = 1 WHERE C1 = 1 AND C2 = 2

Chuẩn SQL:2003 không hỗ trợ cập nhật dữ liệu trên bảng hội (joined table). Vì thế phương pháp sử dụng cậu lệnh SELECT được dùng để cập nhật dữ liệu trong bảng hội. Chú ý: giá trị trả về trong câu lệnh SELECT trong mệnh đề SET phải là giá trị đơn, hay giá trị duy nhất; nghĩa là chỉ có duy nhất 1 hàng được trả về trong câu lệnh SELECT thôi.

UPDATE T1 SET C1 = (SELECT T2.C2 FROM T2 WHERE T1.ID = T2.ID) WHERE EXISTS (SELECT 1 FROM T2 WHERE T1.ID = T2.ID)
👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Câu lệnh SQL **UPDATE** thay đổi hay cập nhật dữ liệu của một hay nhiều hàng trong bảng dữ liệu. Tùy theo điều kiện mà một số hàng hay tất cả các hàng trong bảng
**SQL** (, hoặc ; viết tắt của **Structured Query Language**), dịch là _Ngôn ngữ truy vấn mang tính cấu trúc_, là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ
**SQL injection** là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của
**Windows Update** (viết tắt WU) là một dịch vụ của Microsoft nhằm cung cấp các bản cập nhật cho các thành phần của Windows. Nó có thể được thay thế bằng **Microsoft Update**, một phiên
**Windows Server Update Services** (**WSUS),** trước đây gọi là **Dịch vụ cập nhật phần mềm** **(Software Update Services - SUS)**, là một chương trình máy tính và dịch vụ mạng được phát triển bởi
**Ràng buộc kiểm tra** (hay **ràng buộc CHECK**) là một loại ràng buộc tính toàn vẹn trong SQL, ràng buộc này chỉ rõ những yêu cầu mà mỗi hàng trong một bảng của cơ sở
**Microsoft Visual Studio** là một môi trường phát triển tích hợp (IDE) từ Microsoft. Microsoft Visual Studio còn được gọi là "Trình soạn thảo mã nhiều người sử dụng nhất thế giới ", được dùng
**Entity Framework** (tiết tắt là _EF_), là một trình ánh xạ cơ sở dữ liệu đối tượng mã nguồn mở trên .NET và .NET Framework, bản đầu tiên được xây dựng cho.NET Framework, sau khi
Trong lập trình máy tính, **CRUD** (viết tắt các chữ cái đầu của **_C**reate-**R**ead-**U**pdate-**D**elete_, nghĩa là "tạo, đọc, cập nhật, xoá") là bốn chức năng cơ bản của lưu trữ liên tục. Các từ thay
**Conficker**, còn được biết đến với tên Downup, Downadup và Kido tính nhắm đến hệ điều hành Microsoft Windows, được phát hiện lần đầu tiên vào tháng 10 năm 2008. Biến thể đầu tiên của
**Windows Server 2022** là một phiên bản của hệ điều hành máy chủ Windows Server của Microsoft, là một phần của dòng hệ điều hành Windows NT, được phát triển đồng thời với Windows 10
**NTFS** (Viết tắt của từ New Technology File System). **Tiếng Việt**: "**Hệ thống tập tin công nghệ mới**". **NTFS** là hệ thống tập tin tiêu chuẩn của Windows NT, bao gồm cả các phiên bản
thumb|right|Logo of Microsoft Servers. **Microsoft Server and Tools** (trước đây gọi là _ Windows Server System _) là một thương hiệu bao gồm các sản phẩm máy chủ của Microsoft. Điều này bao gồm các
**Windows Mobile 6 **với tên mã ban đầu "Crossbow" là một phiên bản của hệ điều hành Windows Mobile. WM6 được phát hành vào ngày 12 tháng 2 năm 2007 tại 3GSM World Congress 2007