Bạn có thể thêm cột đã tạo vào bảng hiện có trong SQLite bằng cách sử dụng ALTER TABLE
tuyên bố.
Việc triển khai ALTER TABLE
của SQLite câu lệnh rất hạn chế, nhưng nó cho phép bạn thêm một cột - bao gồm cả các cột đã tạo.
Các cột đã tạo (còn được gọi là "cột được tính toán") là các cột nhận giá trị của chúng từ một biểu thức tính toán các giá trị từ các cột khác.
Ví dụ
Dưới đây là một ví dụ đơn giản để chứng minh.
Bảng gốc
Trước tiên, hãy tạo một bảng mà không có cột đã tạo và chèn một số dữ liệu:
CREATE TABLE Person(
Id INTEGER PRIMARY KEY,
FirstName,
LastName
);
INSERT INTO Person VALUES
( 1, 'Barney', 'Rubble' ),
( 2, 'Peter', 'Griffin' ),
( 3, 'Fritz', 'The Cat' );
SELECT * FROM Person;
Kết quả:
Id FirstName LastName ---------- ---------- ---------- 1 Barney Rubble 2 Peter Griffin 3 Fritz The Cat
Thêm cột đã tạo
Bây giờ, hãy thêm một cột đã tạo trong bảng đó.
ALTER TABLE Person ADD COLUMN
FullName GENERATED ALWAYS AS (FirstName || ' ' || LastName);
SELECT * FROM Person;
Kết quả:
Id FirstName LastName FullName ---------- ---------- ---------- ------------- 1 Barney Rubble Barney Rubble 2 Peter Griffin Peter Griffin 3 Fritz The Cat Fritz The Cat
Một cột được tạo có tên là FullName đã được thêm vào. Cột này nối FirstName có cột LastName và do đó bất kỳ ai truy vấn bảng này không cần phải tự thực hiện nối đó trong truy vấn của họ nữa.
Cập nhật dữ liệu
Bạn không thể cập nhật trực tiếp dữ liệu trong cột đã tạo. Bạn cần cập nhật dữ liệu trong các cột bên dưới góp phần tạo nên giá trị của nó.
Vì vậy, nếu chúng tôi muốn cập nhật Barney Rubble tới Betty Rubble , chúng tôi cần cập nhật FirstName cột.
UPDATE Person
SET FirstName = 'Betty'
WHERE Id = 1;
SELECT * FROM Person;
Kết quả:
Id FirstName LastName FullName ---------- ---------- ---------- --------------- 1 Betty Rubble Betty Rubble 2 Peter Griffin Peter Griffin 3 Fritz The Cat Fritz The Cat