CSV'yi SQL'e Dönüştürme
Tablo dışa aktarımını veritabanınızın çalıştırabileceği bir betiğe dönüştürün. Başlık satırı sütun adlarını belirler, her satır bir INSERT olur ve tırnaklama seçtiğiniz SQL lehçesine göre yapılır.
Veri Dönüştürücü
veya CSV, TSV, TXT … dosyaları buraya bırakın ·
Dosya başına en fazla 95 MB· En fazla 20 dosya· 30 dakika sonra silinir
Dosyalar sunucularımızda işlenir ve 30 dakika sonra silinir.
CSV ve metin dosyalarında sütunları ayıran karakter; hem okuma hem yazma için geçerlidir. Otomatik, karakteri girdiden algılar ve çıktıyı virgülle yazar.
UTF-8 her dilde çalışır. Windows'ta Excel, CSV'yi açarken aksanlı veya Asya karakterlerini bozuk gösteriyorsa BOM'lu UTF-8'i seçin.
Excel, ODS ve Numbers girdisi: yalnızca ilk sayfayı ya da tüm sayfaları dönüştürün (ZIP içinde sayfa başına bir CSV veya sayfa başına bir JSON anahtarı).
Yeni elektronik tablodaki sayfa sekmesinin adı, en fazla 31 karakter.
Nesne dizisi her satır için sütun adlarını anahtar olarak kullanır; dizi dizisi daha kompakttır ve başlığı ilk dizi olarak tutar.
Tüm satırları saran dış öğenin adı; her satır bunun içinde bir <row> olur.
CREATE TABLE ve INSERT ifadelerinde kullanılır. Yalnızca harf, rakam ve alt çizgi.
Tırnaklama ve sütun türleri veritabanları arasında biraz farklıdır; içe aktaracağınızı seçin.
Tarih hücrelerini tek biçimde yeniden yazar. ISO (2026-10-18) veritabanları ve kod için en güvenlisidir; Olduğu gibi bırak seçeneği kaynaktaki görünümü korur.
Bu aracı nasıl kullanırsınız
- 1
CSV dosyasını yükleyin
Bir CSV dosyası ya da en fazla 20 dosya ekleyin (her biri en fazla 95 MB). Noktalı virgül ve sekme ile ayrılmış dosyalar otomatik algılanır.
- 2
Tablo adını ve lehçeyi seçin
Gelişmiş ayarlar altında SQL tablo adı alanını yazın ve SQL lehçesi seçin: MySQL, PostgreSQL, SQLite veya SQL Server. Tarihler ISO olarak ayarlıdır; böylece tarih değerleri tahmin yürütülmeden yüklenir.
- 3
Dönüştürün ve çalıştırın
SQL biçimine Dönüştür → düğmesine basın, CREATE TABLE satırını kontrol edin, ardından betiği veritabanı istemcinizde veya içe aktarma ekranında çalıştırın.
CSV'den SQL'e dönüştürme, başlık satırınızdan bir CREATE TABLE ifadesi ve her veri satırı için bir INSERT yazar; MySQL, PostgreSQL, SQLite veya SQL Server için uygun tırnaklamayla. Böylece hesap tablosu tek bir betik çalıştırılarak veritabanına yüklenir.
CSV neden SQL INSERT komutlarına dönüştürülür?
Her veritabanının hızlı bir CSV yükleyicisi vardır ve hepsinin bir sorunu vardır. LOAD DATA LOCAL INFILE, MySQL 8.0'dan beri sunucuda varsayılan olarak kapalıdır; PostgreSQL'de bir dosyadan COPY FROM için süper kullanıcı hakkı ya da özel bir role üyelik gerekir; SQL Server'ın BULK INSERT komutu ise dizüstü bilgisayarınızı değil sunucu makinesindeki yolları okur. Barındırılan veritabanları çoğu zaman yalnızca bir sorgu düzenleyicisi sunar.
INSERT betiği bunların hepsini aşar. Metin olduğu için okuyabilir, başlangıç verisi olarak sürüm kontrolüne ekleyebilir ve her istemcide çalıştırabilirsiniz. Karşılığında hızdan ödün verilir: on binlerce satır sorunsuz yüklenir, milyonlarca satır ise yerel bir toplu yükleyiciye aittir. Başvuru verisini çalışma kitabında tutan geliştiriciler CSV adımını Excel'den SQL'e ile atlayabilir.
MySQL için CSV'den SQL'e örnek
CREATE TABLE `my_table` ( `id` INT, `name` VARCHAR(255), `joined` DATE ); INSERT INTO `my_table` (`id`, `name`, `joined`) VALUES (1, 'Ayşe Yılmaz', '2026-03-02'), (2, 'Liam O''Brien', '2026-04-15');
Dört SQL lehçesinin çıktıdaki farkları
Tanımlayıcılar order date örneğindeki gibi ters tırnak içine alınır; bu, order gibi ayrılmış sözcüklerin de sütun adı olarak kullanılmasını sağlar.
- MariaDB ile de uyumludur
- phpMyAdmin içe aktarmaları için iyi bir varsayılan
Tanımlayıcılar standart çift tırnak kullanır. Tırnaklı adlar büyük/küçük harfini korur; bu yüzden "Email" ve email iki ayrı sütundur.
- 63 bayttan uzun adlar kısaltılır
Yine çift tırnak kullanılır ve tür denetimi esnektir: INT olarak tanımlanan bir sütun, tablo STRICT olarak tanımlanmadıkça (SQLite 3.37.0 ile eklenen bir seçenek) yine de metin kabul eder.
- sqlite3 kabuğunda veya DB Browser for SQLite içinde çalışır
Tanımlayıcılar [order date] örneğindeki gibi köşeli parantez içine yazılır. Latin olmayan karakterler içeren metin sütunları için NVARCHAR ve N'…' değerleri gerekir.
- SSMS veya Azure Data Studio içinde çalışır
| Kurum | Gereksinim | Kaynak |
|---|---|---|
| MySQL 8.0 | max_allowed_packet varsayılan olarak 64 MB'dır; bundan büyük tek bir ifade reddedilir | — |
| SQL Server | Tek bir INSERT … VALUES listesi en fazla 1.000 satır değer ifadesi kabul eder | — |
| PostgreSQL | 63 bayttan uzun tanımlayıcılar sessizce kısaltılır | — |
| SQLite | Varsayılan derlemede bir tabloda en fazla 2.000 sütun olabilir | — |
Betiği çalıştırmadan önce bunları kontrol edin
Önce CREATE TABLE satırını okuyun. Sütun türleri değerlerden tahmin edilir ve tahmin yanlış olabilir: posta kodları ve telefon numaraları sayısal görünür ama metin kalmalıdır; yoksa 02134 baştaki sıfırını kaybeder. Betiği çalıştırmadan önce türü betikte değiştirin ya da tabloyu kendiniz oluşturup yalnızca INSERT kısmını çalıştırın.
my_table yerine gerçek adı SQL tablo adı alanına yazın ve istemciniz izin veriyorsa betiği bir işlem (transaction) içinde çalıştırın; böylece tek bir hatalı satır her şeyi geri alır. Aynı CSV için diğer hedefler veri dönüştürücü sayfasındadır.
CSV ve SQL betik formatları
CSV
Virgülle ayrılmış değerler
CSV, her satırın bir kayıt, virgüllerin ise sütun ayırıcı olduğu, tablolar için düz metin bir biçimdir. Bilgisayarcılığın ilk günlerinden beri kullanılır ve RFC 4180'de tanımlanmıştır; ancak birçok varyant noktalı virgül veya sekme ve farklı metin kodlamaları kullanır. Hemen her hesap tablosu, veritabanı ve analiz aracı onu içe ve dışa aktarabilir; bu da sistemler arası veri taşımada varsayılan biçim yapar. CSV yalnızca değerleri saklar; formül, biçimlendirme, birden çok sayfa veya veri türü içermez.
- Sıkıştırma
- –
- Saydamlık
- –
- Animasyon
- –
- Çıkış yılı
- –
SQL
SQL betiği
SQL dosyası, bir veritabanının sırayla çalıştırdığı CREATE TABLE ve INSERT gibi Structured Query Language ifadelerinden oluşan düz metin bir betiktir. Genellikle veritabanı yedekleri, taşımalar ve örnek veri paylaşımı için kullanılır. Dilin kendisi bir ISO standardıdır, ancak MySQL, PostgreSQL, SQLite ve SQL Server'ın her birinin kendi lehçesi vardır; bu yüzden betikler sistemler arasında çoğunlukla küçük değişiklikler gerektirir. Herhangi bir metin düzenleyici SQL dosyasını açabilir; çalıştırmak için ise bir veritabanı istemcisi gerekir.
- Sıkıştırma
- –
- Saydamlık
- –
- Animasyon
- –
- Çıkış yılı
- –
CSV, bir dosyanın yalnızca sorgu penceresiyle eriştiğiniz bir veritabanında tabloya dönüşmesi gerektiğinde SQL'e çevrilir: yeni bir uygulamaya başlangıç verisi yüklemek, bir başvuru listesini aktarmak veya sunucu erişimi olmadan bir hesap tablosunu MySQL ya da PostgreSQL'e taşımak.
CSV'yi SQL'e dönüştürme hakkında sorular
Neden LOAD DATA veya COPY yerine SQL dosyası kullanmalıyım?
MySQL'in LOAD DATA INFILE ve PostgreSQL'in COPY komutu gibi toplu yükleyiciler daha hızlıdır, ancak sunucuda dosya erişimi ya da ek istemci bayrakları gerektirir. Düz bir betik, SQL yapıştırabildiğiniz her yerde çalışır: bulut veritabanı konsolu, phpMyAdmin veya gözden geçirilmiş bir migrasyon.
O'Brien gibi kesme işaretli adlar nasıl yazılır?
SQL metni içinde tek tırnak, ikiye katlanarak kaçırılır; değer 'O''Brien' biçiminde yazılır. Dört lehçe de bu biçimi kabul eder, bu yüzden kesme işareti içeren bir ad INSERT komutunu bozmaz.
CSV başlıklarım tabloda neye dönüşür?
Sütun adları, seçilen lehçenin beklediği biçimde tırnak içine alınarak yazılır. Unit Price gibi başlıklar çalışır, ancak boşluklu ve tırnaklı bir adın sonraki tüm sorgularda da tırnaklanması gerekir. Mümkünse dönüştürmeden önce bu başlıkları unit_price gibi değiştirin.
SQL dosyasını phpMyAdmin ile içe aktarabilir miyim?
Evet, İçe Aktar sekmesinde. Buradaki sınır PHP'nin upload_max_filesize değeridir; varsayılan php.ini'de 2 MB'dır. Birçok barındırma hizmeti bunu yükseltir ve sayfa geçerli sınırı gösterir. Betik bundan büyükse büyük CSV'yi birkaç dosyaya bölün.
Tabloyu tekrar CSV'ye dönüştürmenin bir yolu var mı?
Tabloyu döküm olarak dışa aktarın ve SQL'den CSV'ye aracıyla dönüştürün ya da veritabanı istemcinizin kendi CSV dışa aktarımını kullanın. İkisi de bir hesap tablosunun yeniden açabileceği satırlar verir.
- Excel'i SQL'e DönüştürmeExcel sayfasını MySQL, PostgreSQL, SQLite veya SQL Server için SQL betiğine çevirin. Başlıklar sütun, satırlar INSERT ifadesi olur.
- SQL'den CSV'ye Dönüştürücü.sql dökümündeki INSERT ifadelerini Excel veya Google Sheets'te açılan CSV satırlarına dönüştürün. MySQL, phpMyAdmin, SQLite, SQL Server.
- CSV'yi XLSX'e DönüştürmeCSV'yi Excel XLSX'e dönüştürün; baştaki sıfırlar, uzun numaralar ve aksanlı harfler korunur. Virgül, noktalı virgül, sekme otomatik algılanır.
- CSV'den XML'e DönüştürücüCSV satırlarını kendi kök etiketinizle geçerli XML'e dönüştürün. Özel karakterler kaçışlanır, ayırıcı algılanır, UTF-8 çıktı. Tek seferde 20 dosya.
- CSV'yi Parquet'e DönüştürmeCSV'yi tipli sütunlar ve sıkıştırmayla Apache Parquet'e dönüştürün; pandas, DuckDB, Spark, BigQuery, Athena için hazır. Python kurulumu gerekmez.
- Parquet'yi CSV'ye DönüştürmeParquet dosyalarını online CSV'ye dönüştürüp Excel, Google Sheets ya da her içe aktarıcıda açın. Python, Spark, DuckDB gerekmez. 20 dosyaya kadar.