Tóm tắt :trong hướng dẫn này, bạn sẽ học cách sử dụng SQLite UPDATE để cập nhật dữ liệu của các hàng hiện có trong bảng.
Giới thiệu về SQLite UPDATE tuyên bố
Để cập nhật dữ liệu hiện có trong bảng, bạn sử dụng SQLite UPDATE tuyên bố. Phần sau minh họa cú pháp của UPDATE tuyên bố:
UPDATE table
SET column_1 = new_value_1,
column_2 = new_value_2
WHERE
search_condition
ORDER column_or_expression
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql) Trong cú pháp này:
- Đầu tiên, hãy chỉ định bảng mà bạn muốn cập nhật sau
UPDATEmệnh đề. - Thứ hai, đặt giá trị mới cho mỗi cột của bảng trong
SETmệnh đề. - Thứ ba, chỉ định các hàng để cập nhật bằng cách sử dụng một điều kiện trong
WHEREmệnh đề.WHEREmệnh đề là tùy chọn. Nếu bạn bỏ qua,UPDATEcâu lệnh sẽ cập nhật dữ liệu trong tất cả các hàng của bảng. - Cuối cùng, sử dụng
ORDER BYvàLIMITmệnh đề trongUPDATEđể chỉ định số hàng cần cập nhật.
Lưu ý rằng nếu sử dụng giá trị âm trong LIMIT mệnh đề, SQLite giả định rằng không có giới hạn và cập nhật tất cả các hàng đáp ứng điều kiện trong WHERE trước mệnh đề.
ORDER BY mệnh đề phải luôn đi với LIMIT mệnh đề để chỉ định chính xác hàng nào sẽ được cập nhật. Nếu không, bạn sẽ không bao giờ biết hàng nào sẽ được cập nhật thực sự; bởi vì không có ORDER BY , thứ tự của các hàng trong bảng là không xác định.
SQLite UPDATE các ví dụ về tuyên bố
Chúng tôi sẽ sử dụng employees trong cơ sở dữ liệu mẫu để chứng minh UPDATE tuyên bố.
SELECT sau câu lệnh lấy một phần dữ liệu từ employees bảng:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
1) Cập nhật ví dụ về một cột
Giả sử, Jane kết hôn và cô ấy muốn đổi họ của mình thành họ của chồng, tức là Smith . Trong trường hợp này, bạn có thể cập nhật họ của Jane bằng câu lệnh sau:
UPDATE employees
SET lastname = 'Smith'
WHERE employeeid = 3;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Biểu thức trong WHERE đảm bảo rằng chúng tôi chỉ cập nhật hồ sơ của Jane. Chúng tôi đặt lastname cột thành một chuỗi ký tự 'Smith' .
Để xác minh UPDATE , bạn sử dụng câu lệnh sau:
SELECT
employeeid,
firstname,
lastname,
title,
email
FROM
employees
WHERE
employeeid = 3;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
2) Ví dụ về cập nhật nhiều cột
Giả sử Park Margaret đặt tại Toronto và bạn muốn thay đổi thông tin địa chỉ, thành phố và tiểu bang của anh ấy. Bạn có thể sử dụng UPDATE câu lệnh cập nhật nhiều cột như sau:
UPDATE employees
SET city = 'Toronto',
state = 'ON',
postalcode = 'M5P 2N7'
WHERE
employeeid = 4;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Để xác minh UPDATE , bạn sử dụng câu lệnh sau:
SELECT
employeeid,
firstname,
lastname,
state,
city,
PostalCode
FROM
employees
WHERE
employeeid = 4;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
3) Cập nhật với ORDER BY và LIMIT ví dụ mệnh đề
Lưu ý rằng bạn cần tạo SQLite với tùy chọn SQLITE_ENABLE_UPDATE_DELETE_LIMIT để thực hiện UPDATE câu lệnh với ORDER BY tùy chọn và LIMIT mệnh đề.
Hãy kiểm tra địa chỉ email của nhân viên trong employees bảng:
SELECT
employeeid,
firstname,
lastname,
email
FROM
employees;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Để cập nhật một hàng trong employees bảng, bạn sử dụng LIMIT 1 mệnh đề. Để đảm bảo rằng bạn cập nhật hàng đầu tiên của nhân viên được sắp xếp theo tên, bạn thêm ORDER BY firstname mệnh đề.
Vì vậy, tuyên bố sau đây cập nhật email của Andrew Adams :
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
)
ORDER BY
firstname
LIMIT 1;Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Email mới là sự kết hợp của tên, dấu chấm (.), Họ và hậu tố @chinookcorp.com
LOWER() chức năng chuyển đổi email thành chữ thường.
4) Cập nhật ví dụ về tất cả các hàng
Để cập nhật tất cả các hàng trong employees , bạn bỏ qua WHERE mệnh đề. Ví dụ:UPDATE sau tuyên bố thay đổi tất cả địa chỉ email của tất cả nhân viên thành chữ thường:
UPDATE employees
SET email = LOWER(
firstname || "." || lastname || "@chinookcorp.com"
);Code language: SQL (Structured Query Language) (sql) Hãy thử nó
Trong hướng dẫn này, bạn đã học cách sử dụng UPDATE của SQLite để cập nhật dữ liệu hiện có trong bảng.
Tài liệu tham khảo
- https://www.sqlite.org/lang_update.html - Câu lệnh cập nhật SQLite