SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

SQLite - Impor Data dari File CSV

Anda dapat mengimpor data dari file CSV ke database SQLite.

Untuk mengimpor data ke SQLite, gunakan .import memerintah. Perintah ini menerima nama file, dan nama tabel.

Nama file adalah file tempat data dibaca, nama tabel adalah tabel tempat data akan diimpor. Jika tabel tidak ada, tabel akan dibuat secara otomatis, berdasarkan data dalam file CSV.

CSV ke Tabel Baru

Contoh ini mengimpor konten file CSV ke tabel yang saat ini tidak ada. Oleh karena itu, tabel baru akan dibuat berdasarkan data dalam file CSV.

Kami akan menggunakan file CSV yang sama dengan yang kami ekspor sebelumnya.

.mode csv
.import /Users/quackit/sqlite/dumps/catalog.csv Catalog

Pastikan untuk menggunakan .mode csv sebelum .import karena ini mencegah utilitas baris perintah mencoba menafsirkan teks file input sebagai format lain.

Setelah kita menjalankannya, kita dapat menjalankan .tables perintah untuk meninjau tabel kami:

sqlite> .tables
Albums   Albums2  Artists  Catalog

Tabel baru ( Katalog ) telah dibuat. Mari kita lakukan SELECT di atasnya untuk memeriksa isinya:

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

Anda mungkin juga ingin mengubah mode kembali ke column (atau mode lain yang Anda gunakan) seperti yang saya lakukan di sini.

Dan mari kita periksa juga skemanya:

sqlite> .schema Catalog
CREATE TABLE Catalog(
  "AlbumId" TEXT,
  "AlbumName" TEXT,
  "ArtistName" TEXT
);

Tabel yang Ada

Anda juga dapat mengimpor file CSV ke tabel yang ada. Cukup buat tabel dengan definisi yang sesuai, lalu jalankan impor.

Namun, pastikan untuk menghapus semua header dari file CSV terlebih dahulu. Saat Anda mengimpor ke tabel yang ada, setiap baris dalam file CSV dibaca sebagai baris dalam tabel. Jadi, jika Anda menyertakan baris header, baris tersebut akan menjadi baris data pertama di tabel Anda.

Sekarang kita akan membuat tabel baru bernama Genres dan mengisinya dari file CSV.

Berikut adalah isi dari file CSV:

1,Rock
2,Country
3,Pop
4,Comedy
5,Jazz
6,Blues
7,Techno

Buat tabel baru:

CREATE TABLE Genres(
  GenreId    INTEGER PRIMARY KEY, 
  Genre      TEXT NOT NULL
);

Periksa apakah ada di sana:

sqlite> .tables
Albums   Albums2  Artists  Catalog  Genres 

Sekarang impor file CSV:

.mode csv
.import /Users/quackit/sqlite/dumps/genres.csv Genres

Sekarang verifikasi bahwa data masuk (dan ubah kembali ke column modus):

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. Bagaimana cara mendapatkan nilai db SQLite di Arraylist ke Listview

  2. Tambahkan Kunci Asing ke Tabel yang Ada di SQLite

  3. Izinkan pengguna untuk hanya mengakses tabel tertentu di penyedia konten saya

  4. Pengecualian Kueri SQLite Kode Kesalahan Sintaks Android Studio 1

  5. Kalender dan Pengingat Kustom Android