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
UPDATE
mệnh đề. - Thứ hai, đặt giá trị mới cho mỗi cột của bảng trong
SET
mệ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
WHERE
mệnh đề.WHERE
mệnh đề là tùy chọn. Nếu bạn bỏ qua,UPDATE
câ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 BY
vàLIMIT
mệ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