JSON to SQL

JSON dizilerini SQL INSERT ifadelerine dönüştüren ve istenirse CREATE TABLE da üreten ücretsiz çevrimiçi araçtır.

İlgili Öneriler

JSON’dan SQL’e dönüştürme nedir?

JSON’dan SQL’e dönüştürme, JSON dizi ve nesnelerini ilişkisel veritabanında çalıştırılabilecek INSERT ve CREATE TABLE betiklerine çevirmektir.

Araç, nesne anahtarlarını sütun adı, değerleri SQL literal olarak alır ve gerekirse tablo şemasını da üretir.

Tip çıkarımı, lehçe farkları ve batch insert işlemleri tarayıcı içinde yapıldığı için süreç hem hızlı hem de güvenlidir.

Kullanım senaryoları

  • API’den gelen JSON verisini ilişkisel veritabanına aktarmak için INSERT betiği üretmek.
  • Geliştirme ve test ortamları için mock JSON’dan SQL seed verisi hazırlamak.
  • Yeni bir veritabanı kurarken JSON yapısından CREATE TABLE üretmek.
  • Log veya document store çıkışlarını SQL tabanlı sisteme taşımak.
  • JSON ile SQL tip eşlemesini eğitim veya demo amaçlı göstermek.

Nasıl Kullanılır

  1. Soldaki alana JSON dizi veya nesnesini yapıştırın ya da .json/.txt dosyası yükleyin.
  2. Araç çubuğundan hedef SQL lehçesini seçin.
  3. Gerekirse tablo adı, CREATE TABLE seçeneği ve batch boyutunu ayarlayın.
  4. Dönüştürmeyi çalıştırın ve sağ panelde SQL ile satır/sütun sayılarını kontrol edin.
  5. Sonucu kopyalayın veya .sql indirip veritabanı istemcisinde çalıştırın.

Özellikler

  • JSON dizilerinden batch INSERT üretir ve 1-1000 satırlık toplu eklemeyi destekler.
  • İsteğe bağlı CREATE TABLE DDL üretir ve sütun tiplerini otomatik çıkarır.
  • MySQL, PostgreSQL, SQLite ve SQL Server dahil 20+ SQL lehçesini destekler.
  • NULL, boolean, sayılar, ISO tarihleri ve kısa/uzun stringler için akıllı tip çıkarımı sunar.
  • sql-formatter ile üretilen SQL daha okunur hale getirilir.
  • Tüm işlem tarayıcı içinde yapıldığı için veri dışarı gönderilmez.

Sık Sorulan Sorular

JSON dizisini SQL INSERT ifadesine nasıl dönüştürürüm?

JSON dizisini yapıştırdığınızda her nesnenin key alanları sütun adına, value alanları ise SQL literal değerlerine çevrilir.

CREATE TABLE otomatik üretilebilir mi?

Evet. Ayarlarda CREATE TABLE seçeneğini açarsanız araç değer tiplerine göre DDL oluşturur.

Hangi SQL lehçeleri destekleniyor?

MySQL, PostgreSQL, SQLite, SQL Server ve 20’den fazla lehçe desteklenir; tırnak ve tip farklılıkları otomatik uyarlanır.

Tip çıkarımı nasıl çalışır?

NULL, boolean, integer, float, ISO 8601 tarihleri ve kısa/uzun stringler algılanarak uygun SQL tiplerine çevrilir.

Toplu INSERT destekleniyor mu?

Evet. Tek INSERT başına 1 ile 1000 satır arasında batch boyutu ayarlanabilir.

JSON sözdizimi hatalıysa ne olur?

Sonda fazladan virgül veya yanlış tırnak gibi yaygın hatalar için otomatik düzeltme denenir. Gerekirse önce JSON formatter ile kontrol edin.

Verilerim sunucuya gönderiliyor mu?

Hayır. JSON ayrıştırma, tip çıkarımı ve SQL üretimi tamamen tarayıcı içindeki JavaScript ile yapılır.

Tarih stringleri otomatik algılanıyor mu?

Evet. ISO 8601 biçimindeki tarih ve tarih-saat stringleri DATE veya TIMESTAMP olarak tanınır.

Sorun Giderme

Sağ panelde sadece "No valid objects found in JSON" görünüyor

Üst seviye veri dizi/nesne değildir ya da dizide sütun adı üretecek nesne yerine primitive değerler vardır.

Üretilen SQL veritabanında sözdizimi hatası veriyor

Yanlış lehçe seçilmiş olabilir, tablo/sütun adı rezervli kelime olabilir veya batch boyutu fazla büyük olabilir.

Tarih alanı DATE/TIMESTAMP yerine VARCHAR oldu

Girdi stringi ISO 8601 biçiminde değilse araç onu normal metin olarak kabul eder.

Aynı sütunda hem sayı hem string var

Tip çatışması olduğunda sütun daha geniş bir tipe, örneğin VARCHAR’a yükseltilir.

Sözlük

JSON
API ve yapılandırma dosyalarında yaygın kullanılan hafif veri değişim formatıdır.
SQL
İlişkisel veritabanlarını yönetmek için kullanılan standart dildir.
INSERT
Tabloya satır ekleyen DML ifadesidir.
CREATE TABLE
Tablo adı, sütunlar ve tipleri tanımlayan DDL ifadesidir.
SQL lehçesi
Veritabanı ürünlerine göre değişen sözdizimi ve tip farklılıklarıdır.
Tip çıkarımı
JSON değerlerinden otomatik olarak SQL tipi belirleme işlemidir.
Toplu ekleme
Birden çok satırı tek INSERT içinde birleştirerek performansı artırma yöntemidir.

Desteklenen SQL lehçeleri ve temel farklar

Başlıca lehçelerde tanımlayıcı tırnakları, integer tipleri ve boolean gösterimleri.

LehçeTanımlayıcı tırnağıInteger tipiBooleanIF NOT EXISTS
MySQLbacktick `INTTRUEevet
PostgreSQLçift tırnak "INTEGERTRUEevet
SQLiteçift tırnak "INTEGER1/0evet
SQL Serverköşeli parantez []INT1/0hayır
BigQuerybacktick `INT64TRUEevet
Snowflakeçift tırnak "NUMBERTRUEevet

JSON -> SQL tip çıkarım kuralları

detectType fonksiyonunun kullandığı başlıca kurallar.

JSON değeriÖrnekÇıkarılan SQL tipiKural
nullnullNULLJSON null, SQL NULL olur.
booleantrue / falseBOOLEANLehçeye göre BOOLEAN veya 1/0 kullanılır.
integer1, 100, -9999INT / BIGINTDeğer aralığına göre INT veya BIGINT seçilir.
float3.14, -0.5FLOAT / DOUBLE / REALFloat için lehçeye uygun ondalıklı tip kullanılır.
ISO 8601 datetime2024-05-20T10:30:00TIMESTAMPISO 8601 tarih-saat TIMESTAMP olarak algılanır.
short / long stringAlice / 500 charsVARCHAR / TEXT255 karaktere kadar VARCHAR, sonrası TEXT kullanılır.

Privacy & Security

Bu JSON to SQL dönüştürücü tamamen tarayıcınızda çalışır. JSON ayrıştırma, tip çıkarımı, SQL üretimi ve biçimlendirme istemci tarafında yapılır; giriş verileri hiçbir sunucuya gönderilmez.

Authoritative References