araç köşesi

SQL INSERT'ten CSV'ye

SQL dökümündeki INSERT komutlarından tabloyu geri çıkarın; MySQL, PostgreSQL ve SQL Server yazımı tanınır, çıktı CSV ya da JSON

Verileriniz sizde kalır. Dönüşüm tarayıcının içinde yapılır, hiçbir şey sunucuya gitmez.

Nasıl çalışır?

Bu aracı çoğunlukla elinizde yalnızca bir veritabanı yedeği (.sql dosyası) olduğunda açarsınız: eski bir sitenin üye listesi, bir e-ticaret sisteminden kalan sipariş tablosu ya da bir yazılımcının gönderdiği örnek veri. Veritabanı kurmadan içindeki tabloyu görmek için dosyayı Not Defteri ile açın, INSERT satırlarını ya da dosyanın tamamını sol panele yapıştırın. "INSERT INTO musteri (id, ad) VALUES (1, 'Ayşe'), (2, 'Ali');" iki satırlık, id ve ad sütunlu bir tablo olur. mysqldump ve pg_dump INSERT'e sütun adı yazmaz; araç adları aynı dökümdeki CREATE TABLE komutundan alır, bulamazsa sutun1, sutun2 der. Metin değerleri tırnaklarından arındırılır: 'O''Brien' ve MySQL'in 'O\'Neil' yazımı O'Brien ve O'Neil olur, NULL boş hücre olur. NOW() gibi işlevler çalıştırılmaz, yazıldığı gibi aktarılır ve sonuç satırında sayılır. Birden çok tablo varsa her tablo ayrı CSV dosyası olarak tek ZIP'te iner; JSON seçerseniz tablo adları anahtar olur. SELECT sorgusu çalıştırılamaz, çünkü burada veritabanı yoktur; yalnız metinde yazılı değerler çıkarılır.

Bu araç sql to csv, insert komutunu csv yapma, sql to json, sql to csv converter aramalarıyla da biliniyor.

SQL INSERT nedir?

INSERT, bir veritabanı tablosuna satır ekleyen SQL komutudur: INSERT INTO tablo (sütun1, sütun2) VALUES (değer1, değer2). Tek komutta virgülle ayrılmış çok sayıda satır yazılabilir. Veritabanı yedekleri (mysqldump, pg_dump --inserts, SQL Server'ın betik oluşturma aracı) tablonun içeriğini bu komutlarla metne döker; yani INSERT satırları, tablonun kendisinin metin hâlidir ve veritabanı olmadan da okunabilir.

SQL dökümü (.sql) nedir?

SQL dökümü, bir veritabanının yapısını ve içeriğini yeniden kurmaya yarayan komutların düz metin dosyasıdır: önce CREATE TABLE ile tablolar tanımlanır, ardından INSERT ya da COPY ile satırlar eklenir. Hosting panellerinin "veritabanını dışa aktar" düğmesi ve phpMyAdmin bu dosyayı üretir. Dosya büyük olabilir ama metindir; tek bir tabloyu almak için yalnızca o tablonun bölümünü yapıştırmanız yeterlidir.

SQL dökümü ile CSV arasındaki fark nedir?

SQL dökümü bir veritabanına verilecek komutlardır: tablonun yapısını (sütun türleri, anahtarlar), içeriğini ve birden çok tabloyu birlikte taşır, ama açmak için bir veritabanı ya da bu gibi bir okuyucu gerekir. CSV yalnızca tek bir tablonun değerlerini taşır; tür, anahtar ya da tablo adı bilgisi yoktur, ama Excel dahil her program onu doğrudan açar. Yedeği geri yüklemek için SQL, içindeki veriyi incelemek, paylaşmak ya da başka bir sisteme aktarmak için CSV kullanılır.

Hangi SQL yazımları tanınır?

Veritabanları aynı şeyi farklı tırnaklarla yazar. MySQL tablo ve sütun adını `ters tırnak`, PostgreSQL "çift tırnak", SQL Server [köşeli parantez] içine alır; üçü de tanınır ve adlar tırnaksız aktarılır. Metin değerleri her sistemde tek tırnaktadır; içindeki tek tırnak ikilenir ('O''Brien'). MySQL buna ek olarak ters bölü kaçışı kullanır: \' tırnak, \n satır sonudur. PostgreSQL'de ise ters bölü sıradan bir harftir; C:\yol yazısı öyle kalmalıdır. Araç dökümün hangi sistemden geldiğini ters tırnak, ENGINE= ve LOCK TABLES gibi izlerden anlar ve ters bölüyü yalnız MySQL dökümünde kaçış sayar; sonuç satırında bunu bildirir.

PostgreSQL'in varsayılan pg_dump çıktısı INSERT değil COPY bloğudur: "COPY public.urun (id, ad) FROM stdin;" satırından sonra sekmeyle ayrılmış veri ve sonda \. gelir. Bu blok da okunur; \N boş değer olur. SQL Server'ın N'metin' öneki, PostgreSQL'in '2026-09-27'::date dönüşümü ve MySQL'in _utf8mb4'metin' öneki atılır, değer kalır.

  • `ad`, "ad", [ad] → ad
  • 'O''Brien', 'O\'Neil' (MySQL) → O'Brien, O'Neil
  • NULL → boş hücre (JSON'da null)
  • 1250.50 → yazıldığı gibi 1250.50
  • NOW(), CAST(…) → çalıştırılmaz, metin olarak yazılır

CSV mi JSON mu, hangi ayırıcı?

Tabloyu Excel'de açıp incelemek ya da başka bir sisteme yüklemek için CSV seçin. Türkçe Excel noktalı virgül bekler; varsayılan bu yüzden noktalı virgüldür. SQL'deki ondalık sayı noktalıdır (1250.50) ve araç onu değiştirmez; Türkçe Excel bu hücreyi metin olarak açabilir, hesap yapacaksanız Excel'de Bul ve Değiştir ile noktayı virgüle çevirin ya da virgül ayırıcıyla İngilizce bölge ayarında açın. İndirilen CSV'nin başında UTF-8 işareti (BOM) vardır; Türkçe harfler Excel'de bozulmaz.

Veriyi bir programa ya da web sayfasına verecekseniz JSON seçin: sayılar tırnaksız sayı, NULL null, TRUE/FALSE true/false olarak yazılır ve sayının yazımı korunur (1250.50 JSON'da da 1250.50'dir). pg_dump'ın COPY bloğunda tür bilgisi yoktur; araç sütunun türünü CREATE TABLE'dan okur, integer ve numeric sütunları sayı, boolean sütunun t/f değerlerini true/false yapar.

Sık sorulanlar

SQL dosyası CSV'ye nasıl çevrilir?

.sql dosyasını Not Defteri ya da herhangi bir metin düzenleyiciyle açın, içeriğini kopyalayıp bu sayfadaki sol panele yapıştırın. INSERT komutlarındaki değerler tabloya dönüşür ve sağ panelde CSV olarak görünür; "İndir" ile .csv dosyasını alırsınız. Dökümde birden çok tablo varsa her biri ayrı CSV olarak tek ZIP dosyasında iner.

SELECT sorgusunun sonucunu CSV'ye alabilir miyim?

Hayır, bu sayfa bir veritabanına bağlanmaz ve sorgu çalıştırmaz; yalnızca metinde yazılı değerleri okur. SELECT sonucunu almak için sorguyu kendi veritabanı aracınızda çalıştırıp sonucu dışa aktarmanız gerekir. Elinizde INSERT komutları içeren bir yedek dosyası varsa bu araç veritabanı kurmadan tabloyu çıkarır.

Sütun adları neden sutun1, sutun2 diye çıktı?

INSERT komutunda sütun listesi yoksa (INSERT INTO musteri VALUES (…)) adlar yalnızca tablonun tanımında yazılıdır. Araç aynı metinde CREATE TABLE musteri komutunu bulursa adları oradan alır; bulamazsa sıra numarası verir. Dökümün tablo tanımını içeren baş kısmını da yapıştırırsanız gerçek adlar gelir.

Veritabanı yedeğim bir sunucuya gönderiliyor mu?

Hayır. SQL metni tarayıcınızın içinde okunur ve tablo orada oluşturulur; müşteri bilgisi, e-posta ya da parola özeti içeren bir döküm yapıştırsanız bile metin bu sayfadan çıkmaz ve hiçbir yere kaydedilmez.