Bạn có thể xuất dữ liệu từ cơ sở dữ liệu SQLite sang tệp CSV. Bạn có thể xuất toàn bộ bảng hoặc kết quả của một truy vấn.
Để xuất dữ liệu sang tệp CSV, hãy sử dụng .once
, theo sau là đường dẫn / tên tệp mà bạn muốn tệp được ghi vào.
Bảng thành tệp CSV
Ví dụ này xuất nội dung của Nghệ sĩ bảng vào tệp CSV:
.header on .mode csv .once /Users/quackit/sqlite/dumps/artists.csv SELECT * FROM Artists;
Giải thích mã:
- Đầu tiên, chúng tôi bật tiêu đề. Điều này sẽ dẫn đến tên cột được sử dụng làm tiêu đề trong tệp CSV. Đây là tùy chọn. Nếu bạn tắt tiêu đề, tệp CSV sẽ không chứa bất kỳ tiêu đề nào.
- Sau đó, chúng tôi bật chế độ csv (
.mode csv
- Dòng tiếp theo (bắt đầu bằng
.once
) khiến đầu ra được ghi vào tệp CSV. - Điều cuối cùng chúng tôi viết là truy vấn thực tế (trong trường hợp này là
SELECT
trên bảng.).
Sau khi chạy mã đó, tệp CSV được tạo với nội dung sau:
ArtistId,ArtistName,Bio 1,"Joe Satriani", 2,"Steve Vai", 3,"The Tea Party", 4,Noiseworks, 5,"Wayne Jury", 6,"Mr Percival", 7,"Iron Maiden", 8,Atmasphere,"Australian jazz band centred around polyrhythms." 9,"Ian Moss", 10,Magnum, 13,Primus, 14,"Pat Metheny", 15,"Frank Gambale", 16,"Mothers of Invention",
Tham gia truy vấn
Bạn không bị giới hạn chỉ xuất ra một bảng duy nhất. Bạn có thể xuất ra bất kỳ truy vấn nào. Đây là một truy vấn chọn dữ liệu từ hai bảng và xuất kết quả thành một tệp CSV.
.header on .mode csv .once /Users/quackit/sqlite/dumps/catalog.csv SELECT AlbumId, AlbumName, ArtistName FROM Artists AS a INNER JOIN Albums AS b ON a.ArtistId = b.ArtistId ORDER BY ArtistName;
Điều này dẫn đến một tệp CSV có nội dung sau:
AlbumId,AlbumName,ArtistName 1,Killers,"Iron Maiden" 2,Powerslave,"Iron Maiden" 12,"Somewhere in Time","Iron Maiden" 3,"Surfing with the Alien","Joe Satriani" 10,"Flying in a Blue Dream","Joe Satriani" 11,"Black Swans and Wormhole Wizards","Joe Satriani" 6,"Out of the Loop","Mr Percival" 7,"Suck on This",Primus 8,"Pork Soda",Primus 9,"Sailing the Seas of Cheese",Primus
Tự động mở tệp CSV
Bạn có thể sử dụng .system
lệnh để tự động mở tệp trong chương trình bảng tính của máy tính, chẳng hạn như Excel, OpenOffice, LibreOffice, v.v.
Đặt .system
mã trên dòng cuối cùng (sau SELECT
tuyên bố). Như thế này:
.header on .mode csv .once /Users/quackit/sqlite/dumps/catalog.csv SELECT AlbumId, AlbumName, ArtistName FROM Artists AS a INNER JOIN Albums AS b ON a.ArtistId = b.ArtistId ORDER BY ArtistName; .system open /Users/quackit/sqlite/dumps/catalog.csv
Mã chính xác mà bạn sử dụng sẽ tùy thuộc vào hệ điều hành của bạn.
- Trên Windows, sử dụng
.system
theo sau là tên tệp. - Trên Mac, sử dụng
.system open
theo sau là tên tệp. - Trên hệ thống Linux và Unix, sử dụng
.system
tiếp theo là tên của chương trình để mở tệp, tiếp theo là tên tệp. Ví dụ:.system libreoffice /dumps/file.csv
Kết xuất một bảng hoặc cơ sở dữ liệu
Bạn cũng có thể kết xuất một bảng hoặc thậm chí toàn bộ cơ sở dữ liệu vào một tệp văn bản ASCII bằng cách sử dụng .dump
lệnh.