CSV'den SQL'e Dönüştürücü
CSV verilerini bir veritabanına aktarmak genellikle ya bir yükleme aracı çalıştırmak ya da yalnızca yerel dosyalarda çalışan COPY/LOAD DATA INFILE komutları yazmak anlamına gelir. Küçük veri kümeleri için – onlarca, yüzlerce ya da birkaç bin satır – herhangi bir SQL konsoluna yapıştırabileceğiniz basit INSERT komutları çoğu zaman daha hızlıdır. Bu araç, CSV’nizi ve bir tablo adını alır ve her satır için, tanımlayıcıları ters tırnak (backtick) içinde ve değerleri tek tırnak içinde olan, çalıştırması güvenli birer INSERT komutu üretir.
SQL nasıl derlenir
-
1
CSV'yi yapıştırın
İsteğe bağlı başlık satırı olan standart CSV. Ayrıştırıcı, içinde ayraç bulunan tırnaklı hücreleri işler.
-
2
Tablo adını belirleyin
Tablo adındaki harf ve rakam dışındaki karakterler alt çizgiyle değiştirilir; alan boşsa `my_table` kullanılır.
-
3
Sütunlar başlık satırından gelir
Başlık modu açıksa 1. satır sütun listesi olur. Aksi hâlde sütunlar `column_1`, `column_2` gibi adlandırılır.
-
4
Her veri satırı için bir INSERT
Her satır `INSERT INTO table (cols) VALUES (...)` hâline gelir. Değerler tek tırnak içine alınır ve değerin içindeki tek tırnaklar ikiye katlanır.
Lehçe, tırnak kullanımı ve ne zaman başka bir yola başvurmalı
Üreteç, tanımlayıcıların etrafında ters tırnak ve değerlerin etrafında tek tırnak kullanan MySQL tarzı SQL üretir. Çoğu veritabanı bunu küçük düzenlemelerle kabul eder.
Lehçe hızlı başvuru tablosu
| Veritabanı | Tanımlayıcı tırnaklaması | Notlar |
|---|---|---|
| MySQL | ters tırnak | Değişmeden çalışır. |
| MariaDB | ters tırnak | Değişmeden çalışır. |
| PostgreSQL | çift tırnak | Çalıştırmadan önce ` yerine " koyun. |
| SQLite | çift tırnak | ` yerine " koyun ya da tanımlayıcı tırnaklamasını kaldırın. |
| SQL Server | köşeli parantez | ` yerine [] koyun; Unicode için N'...' kullanımına dikkat edin. |
Değerler nasıl kaçışlanır
Tüm değerler tek tırnak içine alınır ve değerin içindeki tek tırnaklar ikiye katlanır (O'Brien, 'O''Brien' olur). Bu, SQL-92 standardının yöntemidir ve tüm yaygın veritabanlarında çalışır. Dönüştürücü tür dönüşümü yapmaz; her şey karakter dizisi (string) olarak üretilir, dolayısıyla sütun INT olduğunda veritabanının örtük dönüşümü '42' değerini tam sayıya çevirir.
Temiz içe aktarım için ipuçları
- Önce tabloyu oluşturun. Dönüştürücü yalnızca
INSERTkomutları üretir,CREATE TABLEüretmez. Elle tanımladığınız veya ORM’unuzdan ürettiğiniz bir şemayla birlikte kullanın. - Büyük dosyaları parçalayın. SQL istemcinizin komut boyutu sınırı varsa her seferinde 500–1000 satır yapıştırın.
- Bir işleme (transaction) sarın. Birkaç yüz satırdan fazlası için yapıştırdığınız bloğu
BEGIN;veCOMMIT;(veyaSTART TRANSACTION;/COMMIT;) arasına alın. Bu, her komutu tek tek otomatik onaylamaktan çok daha hızlıdır.
SQL üretmeyi ne zaman atlamalı
Dosyanızda yaklaşık 50.000’den fazla satır varsa, yerel toplu yükleyiciler (Postgres’te COPY, MySQL’de LOAD DATA INFILE, SQL Server’da bcp) betikle üretilen INSERT komutlarından kat kat hızlıdır. Bu araç hızlı içe aktarımlar, test verisi ekleme ve tek seferlik geçişler için tasarlanmıştır.
Sık Sorulan Sorular
Hayır. Yalnızca INSERT komutları üretir. Şemayı önceden CREATE TABLE ile kendiniz tanımlayın; böylece sütun türlerini, uzunluklarını ve kısıtlamalarını dönüştürücünün tahminine bırakmak yerine kendiniz denetlersiniz.
Tek bir değişiklikle: tablo ve sütun adlarının etrafındaki ters tırnaklı tanımlayıcıları çift tırnakla değiştirin. Değerler tek tırnak içinde olduğundan herhangi bir SQL-92 lehçesinde değişmeden çalışır.
Değerlerin içindeki tek tırnaklar ikiye katlanır (O''Brien); bu, standart SQL kaçış yöntemidir. Ters eğik çizgi, yüzde işareti ve alt çizgi harfi harfine geçer; yalnızca LIKE kalıplarında özel bir anlam kazanır.
Evet. SQL’in oluşturulabilmesi için CSV sunucumuza gönderilir. Saklanmaz ve sayfa bağlantısına eklenmez.
İlgili Araçlar
Altyazı dönüştürücü
SRT altyazılarını yerel olarak WebVTT biçimine veya VTT dosyalarını SRT biçimine dönüştürün. Zamanları doğrulayın, satırları koruyun ve sonucu indirin.
Excel Sayfa Bölücü
XLSX veya XLS çalışma kitabını tarayıcıda çalışma sayfası sekmelerine, veri satırı parçalarına veya sütun değerlerine göre bölün. Dosya yüklemeden tek XLSX veya yerel ZIP indirin.
Arşiv çıkarıcı
ZIP, JAR, XPI, DOCX, XLSX, PPTX ve ODT kapsayıcılarını tarayıcıda yerel olarak inceleyin; kaynak arşivi yüklemeden dosyaları tek tek indirin.
Word’dan Markdown’a Dönüştürücü
Word DOCX dosyasını tarayıcınızda temiz Markdown’a dönüştürün. Başlıkları, listeleri, bağlantıları ve basit tabloları koruyup düzenlenebilir .md dosyasını kopyalayın veya indirin.
XML to CSV Dönüştürücü
Düz tablo yapısındaki XML verisini tarayıcınızda virgülle ayrılmış UTF-8 CSV biçimine dönüştürün, kopyalayın veya indirin.
CSV Dosyasını Excel Dosyasına Dönüştürme
CSV verisini tarayıcınızda tek sayfalı XLSX dosyasına dönüştürün; ayırıcıları inceleyin, kimlikleri koruyun ve güvenli sayıları doğru hücre türünde saklayın.
Araç diğer dillerde mevcuttur
- CSV-till-SQL-konverterare [SV]
- Konverter CSV ke SQL [ID]
- CSV to SQL Converter [EN]
- เครื่องแปลงข้อมูลจาก CSV เป็น SQL [TH]
- CSVからSQLへの変換ツール [JA]
- Bộ chuyển CSV sang SQL [VI]
- Convertidor de CSV a SQL [ES]
- CSV zu SQL Konverter [DE]
- Convertisseur CSV en SQL [FR]
- Conversor de CSV para SQL [PT]
- CSV到SQL转换器 [ZH]
- محوّل CSV إلى SQL [AR]
- CSV → SQL 변환기 [KO]
- CSV-naar-SQL-converter [NL]
- Konwerter CSV na SQL [PL]
- Конвертер CSV в SQL [RU]
- Convertitore CSV in SQL [IT]