Bạn có thể nhập dữ liệu từ tệp CSV vào cơ sở dữ liệu SQLite.
Để nhập dữ liệu vào SQLite, hãy sử dụng .import
yêu cầu. Lệnh này chấp nhận tên tệp và tên bảng.
Tên tệp là tệp mà từ đó dữ liệu được đọc, tên bảng là bảng mà dữ liệu sẽ được nhập vào. Nếu bảng không tồn tại, bảng sẽ được tạo tự động, dựa trên dữ liệu trong tệp CSV.
CSV vào bảng mới
Ví dụ này nhập nội dung của tệp CSV vào một bảng hiện không tồn tại. Do đó, một bảng mới sẽ được tạo dựa trên dữ liệu trong tệp CSV.
Chúng tôi sẽ sử dụng cùng một tệp CSV mà chúng tôi đã xuất trước đây.
.mode csv .import /Users/quackit/sqlite/dumps/catalog.csv Catalog
Đảm bảo sử dụng .mode csv
trước .import
vì điều này ngăn tiện ích dòng lệnh cố gắng diễn giải văn bản tệp đầu vào thành một số định dạng khác.
Sau khi chúng tôi chạy nó, chúng tôi có thể chạy một .tables
lệnh xem lại các bảng của chúng tôi:
sqlite> .tables Albums Albums2 Artists Catalog
Bảng mới (
Catalog
) đã được tạo. Hãy thực hiện SELECT
trên đó để kiểm tra nội dung:
sqlite> .mode column sqlite> SELECT * FROM Catalog; AlbumId AlbumName ArtistName -------- -------------------- ------------ 1 Killers Iron Maiden 2 Powerslave Iron Maiden 12 Somewhere in Time Iron Maiden 3 Surfing with the Ali Joe Satriani 10 Flying in a Blue Dre Joe Satriani 11 Black Swans and Worm Joe Satriani 6 Out of the Loop Mr Percival 7 Suck on This Primus 8 Pork Soda Primus 9 Sailing the Seas of Primus
Bạn cũng có thể muốn thay đổi chế độ trở lại cột column
(hoặc bất kỳ chế độ nào khác mà bạn đang sử dụng) như tôi đã làm ở đây.
Và hãy cũng kiểm tra lược đồ:
sqlite> .schema Catalog CREATE TABLE Catalog( "AlbumId" TEXT, "AlbumName" TEXT, "ArtistName" TEXT );
Bảng hiện có
Bạn cũng có thể nhập tệp CSV vào một bảng hiện có. Chỉ cần tạo bảng với các định nghĩa thích hợp, sau đó chạy quá trình nhập.
Tuy nhiên, trước tiên hãy nhớ xóa mọi tiêu đề khỏi tệp CSV. Khi bạn nhập vào bảng hiện có, mọi dòng trong tệp CSV được đọc dưới dạng một hàng trong bảng. Vì vậy, nếu bạn bao gồm hàng tiêu đề, nó sẽ trở thành dòng dữ liệu đầu tiên trong bảng của bạn.
Bây giờ chúng ta sẽ tạo một bảng mới có tên là Genres và điền nó từ tệp CSV.
Đây là nội dung của tệp CSV:
1,Rock 2,Country 3,Pop 4,Comedy 5,Jazz 6,Blues 7,Techno
Tạo bảng mới:
CREATE TABLE Genres( GenreId INTEGER PRIMARY KEY, Genre TEXT NOT NULL );
Kiểm tra xem nó có ở đó không:
sqlite> .tables Albums Albums2 Artists Catalog Genres
Bây giờ hãy nhập tệp CSV:
.mode csv .import /Users/quackit/sqlite/dumps/genres.csv Genres
Bây giờ, hãy xác minh rằng dữ liệu đã được đưa vào (và thay đổi trở lại cột column
chế độ):
sqlite> .mode column sqlite> SELECT * FROM Genres; GenreId Genre -------- -------------------- 1 Rock 2 Country 3 Pop 4 Comedy 5 Jazz 6 Blues 7 Techno