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
- Soldaki alana JSON dizi veya nesnesini yapıştırın ya da .json/.txt dosyası yükleyin.
- Araç çubuğundan hedef SQL lehçesini seçin.
- Gerekirse tablo adı, CREATE TABLE seçeneği ve batch boyutunu ayarlayın.
- Dönüştürmeyi çalıştırın ve sağ panelde SQL ile satır/sütun sayılarını kontrol edin.
- 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çe | Tanımlayıcı tırnağı | Integer tipi | Boolean | IF NOT EXISTS |
|---|---|---|---|---|
| MySQL | backtick ` | INT | TRUE | evet |
| PostgreSQL | çift tırnak " | INTEGER | TRUE | evet |
| SQLite | çift tırnak " | INTEGER | 1/0 | evet |
| SQL Server | köşeli parantez [] | INT | 1/0 | hayır |
| BigQuery | backtick ` | INT64 | TRUE | evet |
| Snowflake | çift tırnak " | NUMBER | TRUE | evet |
JSON -> SQL tip çıkarım kuralları
detectType fonksiyonunun kullandığı başlıca kurallar.
| JSON değeri | Örnek | Çıkarılan SQL tipi | Kural |
|---|---|---|---|
null | null | NULL | JSON null, SQL NULL olur. |
boolean | true / false | BOOLEAN | Lehçeye göre BOOLEAN veya 1/0 kullanılır. |
integer | 1, 100, -9999 | INT / BIGINT | Değer aralığına göre INT veya BIGINT seçilir. |
float | 3.14, -0.5 | FLOAT / DOUBLE / REAL | Float için lehçeye uygun ondalıklı tip kullanılır. |
ISO 8601 datetime | 2024-05-20T10:30:00 | TIMESTAMP | ISO 8601 tarih-saat TIMESTAMP olarak algılanır. |
short / long string | Alice / 500 chars | VARCHAR / TEXT | 255 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
- JSON Compress
- CSV'den JSON'a
- JSON'den CSV'ye
- JSON Diff
- JSON Escape / Unescape
- JSON Düzleştirme
- JSON Biçimlendirici
- JSON Oluşturucu
- JSONPath Sorgu
- JSON Birleştir
- JSON Onarımı
- JSON Schema Doğrulayıcı
- JSON Sıralama
- JSON Stringify
- JSON'dan HTML'ye
- JSON'dan Java'ya
- JSON'den Markdown'a
- JSON to SQL
- JSON'dan TOML'e
- JSON'dan TypeScript'e
- XML'den JSON'a
- JSON'u XML'e donustur
- YAML'den JSON'a
- JSON → YAML Dönüştürücü
- JSON'dan Go'ya
- JSON'u Rust'a
- JSON to Swift
- JSON'dan C#'ye
- JSON'dan C++'ya
- JSON'dan PHP'ye
- JSON'u Python'a