Langsung ke alat
ViewCSV
File tidak diunggah

Konversi CSV ke database SQLite

orders.csv· DATA CONTOH15 baris · 8 kolom
Tipe nilai
Teks menyimpan setiap nilai persis apa adanya. Deteksi memakai INTEGER dan REAL jika semua nilainya cocok.
orders.csv
#order_idcustomercityproductquantityunit_priceorder_datestatus
1001041Budi LestariJakartaDesk lamp1204.832026-01-19shipped
2001042Andi WijayaBandungDesk lamp1139.942026-02-26refunded
3001043Siti SaputraMedanChair, ergonomic3128.522026-03-01pending
4001044Rizky KurniawanMedanCoffee beans 1kg4229.712026-04-27refunded
5001045Rizky LestariJakartaMonitor 27"8·2026-05-09pending
6001046Fajar GunawanBandungMonitor 27"4221.252026-06-20refunded
7001047 Fajar Saputra YogyakartaUSB-C cable322.402026-07-04refunded
8001048Rizky WijayaBandungMonitor 27"2157.072026-08-11refunded
9001049Andi LestariYogyakartaCoffee beans 1kg2219.182026-09-10shipped
10001050Nur HalimMedanUSB-C cable1210.972026-01-15refunded
11001051Putri HalimMedanUSB-C cable8136.072026-02-25shipped
12001052Rizky HidayatDenpasarDesk lamp39.422026-03-05refunded
13001053Budi KurniawanBandungNotebook A55174.882026-04-25pending
14001054Putri KurniawanBandungDesk lamp2103.842026-05-15paid
15001043Siti SaputraMedanChair, ergonomic3128.522026-03-01pending

15 baris · 1 file Memakai mesin SQLite (WebAssembly) yang diunduh sekali dari assets.viewcsv.app. Data Anda tetap di tab ini.

Buka atau tempel file CSV, periksa Nama tabel, lalu pilih Unduh SQLite. Anda mendapat file database .sqlite dengan satu tabel berisi semua baris, siap dibuka di shell sqlite3, DB Browser for SQLite, Python, atau pustaka SQLite apa pun. Secara bawaan setiap kolom bertipe TEXT, jadi 000417 tetap 000417. Mesin SQLite berjalan sebagai WebAssembly di browser Anda; file CSV tidak pernah diunggah.

Cara mengonversi CSV ke SQLite

  1. Buka file .csv, .tsv, atau .txt, seret ke alat ini, atau tempel barisnya. Periksa tabel di Masukan; jika perlu, atur pemisah, baris judul kolom, atau pengodean di Pengaturan impor.
  2. Periksa Nama tabel. Awalnya diambil dari nama file dengan spasi dan tanda baca diganti garis bawah, jadi orders 2026.csv menjadi orders_2026.
  3. Pilih Tipe nilai, Primary key (opsional), dan apakah akan memakai Tulis sel kosong sebagai NULL.
  4. Pilih Unduh SQLite, lalu buka filenya, misalnya dengan sqlite3 orders.sqlite dan SELECT * FROM orders LIMIT 10;.

Konversi pertama mengunduh mesin SQLite (sql.js, dikompilasi ke WebAssembly) satu kali dari assets.viewcsv.app. Jika unduhan itu gagal, alat ini menampilkan pesan kesalahan dan Anda bisa mencoba lagi; file Anda tetap di perangkat ini.

Untuk mengonversi banyak file dengan pengaturan yang sama, pilih Batch: konversi beberapa file. Setiap file menjadi database sendiri, dengan tabel yang dinamai sesuai file itu, dan semuanya diunduh bersama dalam satu ZIP. Dalam mode batch, setiap file harus berukuran 25 MB atau kurang.

Isi database

Satu tabel, dibuat dengan CREATE TABLE "name" (…), dengan satu kolom untuk setiap kolom CSV sesuai urutan aslinya dan semua baris disisipkan dalam satu transaksi. Tidak ada index, view, atau kolom ID tambahan.

Nama tabel dan kolomDipakai persis seperti tertulis dan diapit tanda kutip ganda, jadi spasi, tanda baca, kata yang dicadangkan, dan nama non-Latin tetap berfungsi: tulis dalam query sebagai "order date". Judul kolom yang kosong menjadi Column 3 dan yang berulang menjadi name (2).
Simpan semua nilai sebagai teksPilihan bawaan. Setiap kolom dideklarasikan TEXT dan menyimpan setiap nilai persis seperti tertulis.
Deteksi angka dan true/falseKolom yang semua nilai tidak kosongnya bilangan bulat tanpa nol di depan menjadi INTEGER; desimal dengan maksimal 15 digit signifikan menjadi REAL; kolom true/false menjadi INTEGER berisi 1 dan 0, karena SQLite tidak punya tipe boolean. Tanggal dan yang lainnya tetap TEXT.
Primary keyOpsional. Kolom yang dipilih dideklarasikan sebagai PRIMARY KEY. Nilainya harus unik dan tidak boleh kosong; jika tidak, alat ini berhenti sebelum menulis file. Kunci bilangan bulat hasil deteksi menjadi INTEGER PRIMARY KEY, alias rowid di SQLite.
Tulis sel kosong sebagai NULLAktif secara bawaan. Nonaktifkan untuk menyimpan sel kosong sebagai string kosong ''.

Baris baru, tanda kutip, dan koma di dalam nilai CSV bertanda kutip disimpan di dalam nilai tanpa perubahan.

Masalah umum saat mengonversi CSV ke SQLite

  • Konversi berhenti di primary key. Kolom yang dipilih punya nilai kosong atau berulang. Temukan duplikatnya dengan Validasi CSV atau penampil CSV, pilih kolom lain, atau atur Primary key ke Tidak ada.
  • Mesinnya tidak bisa diunduh. File WebAssembly SQLite berasal dari assets.viewcsv.app. Periksa koneksi, firewall, atau pemblokir konten Anda, lalu coba lagi.
  • `SUM()` memperlakukan kolom sebagai teks. Kolomnya bertipe TEXT. Konversi lagi dengan Deteksi angka dan true/false; jika tetap teks, ada nilai yang bukan angka biasa (1,234, 12 kg, 007). Atau ubah tipenya di SQL: CAST(total AS REAL).
  • File terlalu besar untuk alat ini. Konversi ke SQLite berlaku untuk file hingga 25 MB, 100.000 baris, 250 kolom, dan 2 juta sel. Untuk file yang lebih besar, buat skrip dengan CSV ke SQL, yang memproses file besar secara streaming, lalu jalankan dengan sqlite3.

Batas dan privasi

CSV harus bisa dibuka di ruang kerja browser: hingga 25 MB, 100.000 baris, 250 kolom, dan 2 juta sel. Database dibuat di memori lalu diekspor sebagai satu file.

Mesinnya berjalan di worker latar belakang pada tab ini, jadi halaman tetap responsif dan Batal bisa menghentikannya. Yang diunduh hanya file mesinnya; file CSV dan database tidak pernah meninggalkan perangkat Anda.

Contoh: file pesanan dibuka di shell sqlite3

File pesanan dengan ID bernol di depan, tanggal kosong, dan catatan dua baris, dikonversi dengan Deteksi angka dan true/false, nama tabel orders, dan order_id sebagai Primary key, lalu dibuka dengan shell sqlite3. total menjadi REAL dan paid menjadi INTEGER 1/0, sedangkan order_id dan shipped_on tetap TEXT. Dengan pilihan bawaan Simpan semua nilai sebagai teks, keenam kolom bertipe TEXT dan total tetap 129.50.

CSV
order_id,customer,total,paid,shipped_on,note
000417,"Okafor, Ada",129.50,true,2026-04-02,
000418,Mei Tan,15,false,,"Leave at door
side gate"
SQLite (shell sqlite3)
sqlite> .schema
CREATE TABLE "orders" ("order_id" TEXT PRIMARY KEY, "customer" TEXT, "total" REAL, "paid" INTEGER, "shipped_on" TEXT, "note" TEXT);

sqlite> SELECT order_id, total, typeof(total), paid, shipped_on, quote(note) FROM orders;
000417|129.5|real|1|2026-04-02|NULL
000418|15.0|real|0||'Leave at door
side gate'

Tanya jawab

Apa bedanya dengan CSV ke SQL?

Halaman ini memberi Anda file database SQLite jadi yang bisa langsung dibuka. CSV ke SQL menulis skrip teks berisi perintah CREATE TABLE dan INSERT yang Anda jalankan sendiri, untuk SQLite maupun PostgreSQL, MySQL, atau SQL Server, dan bisa memproses file di atas 25 MB secara streaming.

Bisakah CSV ditambahkan ke database yang sudah ada?

Tidak secara langsung; setiap konversi membuat database baru dengan satu tabel. Lampirkan file itu dari database Anda dengan ATTACH 'orders.sqlite' AS src; lalu salin barisnya dengan INSERT INTO … SELECT * FROM src.orders;.

Mengapa true dan false disimpan sebagai 1 dan 0?

SQLite tidak punya storage class boolean; boolean disimpan sebagai integer. Dengan Deteksi angka dan true/false, true menjadi 1 dan false menjadi 0. Dalam mode teks, keduanya tetap berupa string true dan false.

Standar dan referensi