UltKit

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

Çıktı

Dosyalar sunucularımızda işlenir ve 30 dakika sonra silinir.

Bu aracı nasıl kullanırsınız

  1. 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. 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. 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

id,name,joined sütunlarından ve iki satırdan üretilen betik
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
Oluşturulan betiği etkileyen veritabanı sınırları
KurumGereksinimKaynak
MySQL 8.0max_allowed_packet varsayılan olarak 64 MB'dır; bundan büyük tek bir ifade reddedilir—
SQL ServerTek bir INSERT … VALUES listesi en fazla 1.000 satır değer ifadesi kabul eder—
PostgreSQL63 bayttan uzun tanımlayıcılar sessizce kısaltılır—
SQLiteVarsayı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ı
–
CSV dönüştürücü

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ı
–
SQL dönüştürücü

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.