İçeriğe atla
%100 yerel

JSON'dan SQL CREATE TABLE

Bir JSON nesnesini veya nesne dizisini SQL CREATE TABLE ifadesine dönüştür.

Giriş
Çıkış

JSON'dan SQL CREATE TABLE

Bir JSON nesnesini veya nesne dizisini yapıştırın; bu araç ondan kendi başına çalışabilen bir SQL CREATE TABLE ifadesi oluşturur — bir örnek API yanıtına veya dışa aktarılmış bir kayda işaret edin ve bir başlangıç şeması alın, yerine her sütunu elle yazın.

Sütun türleri gerçek değerlerden çıkarılır: tam sayılar INTEGER olur, ondalık kısım olan sayılar DECIMAL olur, doğru/yanlış BOOLEAN olur, 2024-01-15 veya 2024-01-15T10:30:00Z biçiminde dizeler DATE veya TIMESTAMP olur ve diğer her şey tahmini uzunlukla VARCHAR olur veya 255 karakterden sonra TEXT olur. NOT NULL işaretli bir alan, yapıştırulan tüm kayıtlarda mevcut olan ve asla null olmayan bir alandır; id adlı bir alan PRIMARY KEY olur. Bir diyalekt seçin — ANSI SQL, MySQL, PostgreSQL, SQLite veya SQL Server — tür adlarındaki küçük farklılıkları eşleştirmek için. İç içe nesneler önekli sütunlara düzleştirilir (address.city address_city olur) veya tek bir JSON sütununda tutulur ve Adları snake_case'e dönüştür camelCase JSON anahtarlarını geleneksel SQL sütun adlarına dönüştürür.

Birden fazla kayıtla, INSERT ifadeleri ekle öğesini açmak her kayıt için bir INSERT öğesini CREATE TABLE'ın altına ekler, aynı çıkarılan sütunları kullanarak — bir test veritabanını JSON bağlantısından çekilmek için kullanışlıdır. Çıkarım her zaman yapıştırdığınız tüm kayıtlara bakar, sadece birinciye değil, bu nedenle yalnızca bazen mevcut olan bir alan doğru bir şekilde boş kalır, yanlış tahmin edilmez.

Her şey tarayıcınızda çalışır. Yapıştırdığınız JSON ve ondan oluşturulan şema hiçbir yere yüklenmez — örnek veriler üretim dışa aktarmasından geldiğinde bu önemlidir. Sonucu kopyalayın, .txt dosyası olarak indirin veya çıktıyı giriş haline gönderin şemayı daha da iyileştirmek için.

FAQ

Sütun türleri nasıl belirlenir?
Her sütun, yapıştırdığınız tüm kayıtlarda o alan için görülen her değerden çıkarılır — sadece ilkinden değil. Karışık türlere sahip bir alan (bir kayıtta sayı, başka bir kayıtta dize) bir metin sütununa geri döner, çünkü bu her ikisini de güvenli bir şekilde tutabilen tek tiptir.
id adlı bir alan ne olur?
Id adlı bir sütun (snake_case dönüşümü etkinse sonra) PRIMARY KEY olur. Otomatik artışlı veya kimlik söz dizimi diyalektler arasında yeterince farklıdır ki çıkarılmıştır — bir strateji seçtikten sonra kendiniz ekleyin.
İki iç içe nesne seçeneği arasındaki fark nedir?
Alt çizgiyle düzleştir iç içe bir nesneyi (örneğin address: { city }) ayrı bir address_city sütununa dönüştürür. JSON sütunu olarak tut bunun yerine tüm iç içe nesneyi tek bir JSON (veya metin) sütununda depolar. Diziler her zaman tek bir JSON/metin sütununda tutulur, çünkü tek bir satır değişken uzunlukta bir listeyi tutulamaz.
Hem tablo hem de veri ekleme yapabilir mi?
Evet. INSERT ifadeleri ekle seçeneğini açın ve bir nesne dizisi yapıştırdıysanız, CREATE TABLE'ın altında her kayıt için bir INSERT ifadesi eklenir ve zaten çıkarılan sütunlar ve türler kullanılır.
JSON herhangi bir yere yükleniyor mu?
Hayır. Ayrıştırma, tür çıkarımı ve SQL oluşturma, hepsi tarayıcınızda yerel olarak çalışır — JSON'ınız ve ondan türetilen şema hiçbir zaman cihazınızı terk etmez.