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