Bir CSV dosyası açın veya yapıştırın, Tablo adı alanını kontrol edin ve SQLite indir düğmesini seçin. Tüm satırları içeren tek tablolu bir .sqlite veritabanı dosyası elde edersiniz; sqlite3 kabuğu, DB Browser for SQLite, Python veya herhangi bir SQLite kütüphanesiyle açılmaya hazırdır. Varsayılan olarak her sütun TEXT olur; böylece 000417 yine 000417 kalır. SQLite motoru tarayıcınızda WebAssembly olarak çalışır; CSV hiçbir zaman yüklenmez.
CSV, SQLite’a nasıl dönüştürülür?
- Bir
.csv,.tsvveya.txtdosyası açın, araca sürükleyip bırakın ya da satırları yapıştırın. Girdi altındaki tabloyu kontrol edin; gerekirse ayırıcıyı, başlık satırını veya kodlamayı İçeri aktarma ayarları altından belirleyin. - Tablo adı alanını kontrol edin. Ad, boşlukları ve noktalama işaretleri alt çizgiye çevrilmiş dosya adıyla başlar; yani
orders 2026.csv,orders_2026olur. - Değer türleri, isteğe bağlı bir Birincil anahtar ve Boş hücreleri NULL olarak yaz ayarını seçin.
- SQLite indir düğmesini seçin, ardından dosyayı açın; örneğin
sqlite3 orders.sqliteveSELECT * FROM orders LIMIT 10;ile.
İlk dönüştürme, SQLite motorunu (WebAssembly’ye derlenmiş sql.js) assets.viewcsv.app adresinden bir kez indirir. Bu indirme başarısız olursa araç bir hata gösterir ve yeniden deneyebilirsiniz; dosyanız bu cihazda kalır.
Aynı ayarlarla çok sayıda dosya dönüştürmek için Toplu işlem: birden çok dosyayı dönüştür seçeneğini seçin. Her dosya, o dosyanın adını taşıyan bir tabloyla kendi veritabanı olur ve hepsi tek bir ZIP olarak birlikte iner. Toplu işlemde her dosya en fazla 25 MB olmalıdır.
Veritabanı neleri içerir?
CREATE TABLE "name" (…) ile oluşturulmuş, her CSV sütunu için özgün sırasıyla bir sütun içeren ve tüm satırların tek bir işlemde (transaction) eklendiği tek bir tablo. Ek dizin, görünüm veya kimlik sütunu yoktur.
| Tablo ve sütun adları | Tam yazıldıkları gibi ve çift tırnak içinde kullanılır; böylece boşluklar, noktalama işaretleri, ayrılmış sözcükler ve Latin dışı adlar (Türkçe karakterli adlar dahil) çalışır: sorgularda "order date" biçiminde yazın. Boş bir başlık Column 3, yinelenen bir başlık name (2) olur. |
|---|---|
| Tüm değerleri metin olarak tut | Varsayılan. Her sütun TEXT olarak tanımlanır ve her değeri tam yazıldığı gibi saklar. |
| Sayıları ve true/false değerlerini algıla | Boş olmayan değerlerinin tümü baştaki sıfırı olmayan tam sayılar olan bir sütun INTEGER olur; en fazla 15 anlamlı basamaklı ondalık sayılar REAL olur; true/false sütunları, SQLite’ta mantıksal tür olmadığı için 1 ve 0 tutan INTEGER olur. Tarihler ve diğer her şey TEXT olarak kalır. |
| Birincil anahtar | İsteğe bağlı. Seçilen sütun PRIMARY KEY olarak tanımlanır. Değerleri benzersiz olmalı ve boş olmamalıdır; aksi hâlde araç dosyayı yazmadan önce durur. Algılanan bir tam sayı anahtarı, SQLite’ın rowid takma adı olan INTEGER PRIMARY KEY olur. |
| Boş hücreleri NULL olarak yaz | Varsayılan olarak açıktır. Boş hücreleri boş metin '' olarak saklamak için kapatın. |
Tırnaklı CSV değerlerinin içindeki satır sonları, tırnaklar ve virgüller değerin içinde değişmeden saklanır.
Sorun giderme
- Dönüştürme birincil anahtarda duruyor. Seçilen sütunda boş veya tekrarlanan bir değer var. Yinelenenleri CSV doğrula veya CSV görüntüleyici ile bulun, başka bir sütun seçin ya da Birincil anahtar ayarını Yok yapın.
- Motor indirilemedi. SQLite WebAssembly dosyası
assets.viewcsv.appadresinden gelir. Bağlantınızı, güvenlik duvarınızı veya içerik engelleyicinizi kontrol edip yeniden deneyin. - `SUM()` bir sütunu metin olarak ele alıyor. Sütun
TEXT. Sayıları ve true/false değerlerini algıla ile yeniden dönüştürün; yine metin kalırsa bir değer sade sayı değildir (1,234,12 kg,007). Ya da SQL’de dönüştürün:CAST(total AS REAL). - Dosya bu araç için çok büyük. SQLite dönüştürmesi 25 MB, 100.000 satır, 250 sütun ve 2 milyon hücreye kadar dosyalarla çalışır. Daha büyük bir dosya için büyük dosyaları akışla işleyen CSV’den SQL’e aracıyla bir betik oluşturun ve onu
sqlite3ile çalıştırın.
Sınırlar ve gizlilik
CSV dosyasının tarayıcı çalışma alanında açılabilmesi gerekir: en fazla 25 MB, 100.000 satır, 250 sütun ve 2 milyon hücre. Veritabanı bellekte oluşturulur ve tek bir dosya olarak dışa aktarılır.
Motor bu sekmede arka plandaki bir işçide çalışır; böylece sayfa yanıt vermeye devam eder ve İptal işlemi durdurur. Yalnızca motor dosyası indirilir; CSV ve veritabanı hiçbir zaman cihazınızdan çıkmaz.
Örnek
Baştaki sıfırlı kimlikler, boş bir tarih ve iki satırlık bir not içeren bir sipariş dosyası; Sayıları ve true/false değerlerini algıla, orders tablo adı ve Birincil anahtar olarak order_id ile dönüştürüldü, ardından sqlite3 kabuğuyla açıldı. total, REAL; paid, 1/0 değerli INTEGER oldu; order_id ve shipped_on ise TEXT kaldı. Varsayılan Tüm değerleri metin olarak tut ile altı sütunun tamamı TEXT olur ve total değeri 129.50 olarak kalır.
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> .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'Sık sorulan sorular
Bu araçla CSV’den SQL’e arasındaki fark nedir?
Bu sayfa, doğrudan açabileceğiniz bitmiş bir SQLite veritabanı dosyası verir. CSV’den SQL’e ise SQLite ya da PostgreSQL, MySQL veya SQL Server için kendiniz çalıştıracağınız CREATE TABLE ve INSERT ifadelerinden oluşan bir metin betiği yazar ve 25 MB’tan büyük dosyaları akışla işleyebilir.
CSV’yi mevcut bir veritabanına ekleyebilir miyim?
Doğrudan hayır; her dönüştürme tek tablolu yeni bir veritabanı oluşturur. Bunu mevcut veritabanınıza ATTACH 'orders.sqlite' AS src; ile bağlayın ve satırları INSERT INTO … SELECT * FROM src.orders; ile kopyalayın.
true ve false neden 1 ve 0 olarak saklanıyor?
SQLite’ta mantıksal bir depolama sınıfı yoktur; mantıksal değerler tam sayıdır. Sayıları ve true/false değerlerini algıla seçiliyken true, 1; false, 0 olur. Metin modunda bunlar true ve false metinleri olarak kalır.