SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

SQLite - Nhập dữ liệu từ tệp CSV

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:

cột
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             

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android - Làm cách nào để chuyển dữ liệu liên quan đến hai bảng sang phương thức chèn của Nhà cung cấp nội dung

  2. Android lưu trữ phiên bản cơ sở dữ liệu của SQLite ở đâu?

  3. Sự cố bộ nhớ SQLite với cách tiếp cận singleton

  4. SQLite JSON_TYPE ()

  5. Cách gói các dòng văn bản dài trong kết quả SQLite