Giao diện dòng lệnh SQLite có một lệnh dấu chấm tiện dụng được gọi là .mode
, cho phép bạn thay đổi cách định dạng kết quả truy vấn.
Một trong những giá trị bạn có thể sử dụng với lệnh này là insert
. Việc sử dụng giá trị này dẫn đến tất cả các kết quả truy vấn tiếp theo được định dạng dưới dạng INSERT
trong SQL tuyên bố.
Cài đặt mặc định của SQLite
Đầu tiên, đây là kết quả bình thường của bạn có thể trông như thế nào (giả sử bạn đang sử dụng cài đặt mặc định của SQLite).
SELECT * FROM Products;
Kết quả:
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Kết quả dưới dạng Tuyên bố CHÈN
Bây giờ là cách thay đổi nó để kết quả được định dạng dưới dạng INSERT
trong SQL tuyên bố:
.mode insert Products2
Câu lệnh đó chỉ định Sản phẩm2 dưới dạng bảng mà dữ liệu sẽ được chèn vào. Bạn cần chỉ định tên của bảng mà bạn muốn chèn dữ liệu vào.
Bây giờ khi tôi chạy SELECT
trước đó một lần nữa, chúng được xuất ra dưới dạng INSERT
tuyên bố.
SELECT * FROM Products;
Kết quả:
INSERT INTO Products2 VALUES(1,'Widget Holder',139.49999999999999999); INSERT INTO Products2 VALUES(2,'Widget Opener',89.700000000000002838); INSERT INTO Products2 VALUES(3,'Widgets - 6 Pack',374.19999999999998862); INSERT INTO Products2 VALUES(4,'Blue Widget',63.000000000000000001);
Lưu định dạng này
Khi bạn mở SQLite trong một cửa sổ dòng lệnh mới, bạn sẽ mất các cài đặt này. Nói cách khác, SQLite sẽ hoàn nguyên về định dạng đầu ra mặc định của nó (là danh sách được phân tách bằng dấu sổ đứng).
Tuy nhiên, bạn thực sự có thể chỉ định cài đặt mặc định của riêng mình bằng cách lưu các cài đặt trên vào một tệp văn bản.
Để thực hiện việc này, hãy nhập thông tin sau vào tệp văn bản:
.mode insert NewTable
Sau đó, lưu tệp đó dưới dạng .sqliterc
trong thư mục chính / (của người dùng) của bạn.
Bây giờ khi bạn kết nối với SQLite trong một cửa sổ đầu cuối mới, nó sẽ sử dụng các cài đặt đó thay vì cài đặt SQLite mặc định.
Ví dụ này sử dụng NewTable làm bảng đích nhưng bạn có thể sử dụng bất cứ thứ gì bạn muốn.
Rõ ràng, vấn đề duy nhất khi làm điều này là bạn sẽ cần phải thay đổi tên của bảng nếu nó thay đổi. Và nếu bạn gặp khó khăn khi làm điều đó, có thể dễ dàng hơn chỉ cần thay đổi nó nhanh chóng với .mode insert NewTable
(thay vì cần tìm / thay thế tên bảng). Trong mọi trường hợp, đó là một tùy chọn nếu bạn cần.