Giao diện dòng lệnh SQLite cung cấp cho chúng tôi khả năng tự động tạo SQL INSERT
câu lệnh từ một truy vấn. Điều này có thể được thực hiện bằng cách thay đổi chế độ đầu ra thành insert
.
Ví dụ
Giả sử chúng ta có bảng sau:
SELECT * FROM Pets;
Kết quả:
+-------+---------+--------+ | PetId | PetName | TypeId | +-------+---------+--------+ | 1 | Homer | 3 | | 2 | Yelp | 1 | | 3 | Fluff | 2 | | 4 | Brush | 4 | +-------+---------+--------+
Khi tôi chạy ví dụ đó, tôi đang sử dụng chế độ bảng. Chế độ bảng trình bày kết quả truy vấn dưới dạng bảng và là một trong một số chế độ đầu ra dạng bảng trong SQLite.
Chúng ta có thể thay đổi nó thành chế độ chèn như sau:
.mode insert Pets2
Khi bạn thay đổi sang chế độ chèn, bạn phải chỉ định tên của bảng mà dữ liệu sẽ được chèn vào. Trong trường hợp của tôi, tôi đã chỉ định Pets2
, vì vậy dữ liệu sẽ được chèn vào bảng đó.
Bây giờ khi chúng tôi chạy cùng một truy vấn SQL như trước đây, chúng tôi nhận được một loạt các INSERT
tuyên bố:
SELECT * FROM Pets;
Kết quả:
INSERT INTO Pets2 VALUES(1,'Homer',3); INSERT INTO Pets2 VALUES(2,'Yelp',1); INSERT INTO Pets2 VALUES(3,'Fluff',2); INSERT INTO Pets2 VALUES(4,'Brush',4);
Tất nhiên, khi bạn chèn các giá trị này vào bảng, trước tiên bạn cần đảm bảo rằng bảng tồn tại. Bạn có thể tạo một bảng với tên chính xác hoặc chèn vào một bảng hiện có.