UTILS.
%100 tarayıcıda
🗄

JSON'dan SQL CREATE TABLE'a

Nesnelerden oluşan bir JSON dizisinden bir SQL CREATE TABLE (ve isteğe bağlı INSERT'ler) çıkarın; MySQL, PostgreSQL veya SQLite için sütun tiplerini otomatik seçerek.

— çıktı burada görünür —

Bu araç hakkında

JSON'dan SQL CREATE TABLE'a aracı, nesnelerden oluşan bir JSON dizisini (veya tek bir nesneyi) okur ve gerçekten gördüğü değerlerden her sütunun tipini seçerek eşleşen bir SQL tablo tanımı çıkarır. Tamamen tarayıcınızda çalışır — JSON, yerel JSON.parse ile ayrıştırılır ve asla cihazınızdan ayrılmaz — böylece bir API dökümü veya veritabanı dışa aktarımını yapıştırıp tek adımda bir tablo iskeletleyebilirsiniz.

Sütun tipleri her satır boyunca alan başına çıkarılır: tümü tam sayı olan değerler INT olur (herhangi bir değer 2.147.483.647'yi aştığında BIGINT), ondalıklı sayılar, sağladığınız en geniş tam sayı ve kesir basamak sayılarına göre boyutlandırılmış DECIMAL(p,s) olur (veya float modunu seçtiğinizde DOUBLE / REAL), boole değerleri TINYINT(1)/BOOLEAN'a eşlenir, ISO 8601 dizeleri DATETIME veya DATE'e eşlenir, iç içe nesneler ve diziler JSON/JSONB olur ve geri kalan dizeler, N'in en uzun değerin üstündeki bir sonraki iki kuvveti olduğu VARCHAR(N) olur (bu 255'i aştığında TEXT). Herhangi bir satırda null veya eksik olan bir sütun NULLABLE bırakılır; aksi halde NOT NULL olur. id veya uuid adlı benzersiz, null olmayan bir sütun PRIMARY KEY'e yükseltilir; tam sayı anahtarlar için AUTO_INCREMENT / SERIAL / AUTOINCREMENT eklenir.

Bir lehçe geçişi tipleri MySQL, PostgreSQL (SERIAL, JSONB, TIMESTAMP, DOUBLE PRECISION) veya SQLite (INTEGER / REAL / TEXT afiniteleri) için yeniden yazar ve tanımlayıcıları doğru sınırlayıcıyla tırnaklar (MySQL için ters tırnak, aksi halde çift tırnak). Ayrıca satır başına bir INSERT deyimi üretmek için INSERT'ler seçeneğini açın; dizeler, boole değerleri, sayılar ve JSON değerleri seçilen lehçe için kaçışlanır ve tırnaklanır.

Sık sorulan sorular

Ne tür bir girdi bekler?
Bir API'den veya dışa aktarımdan gelen satırlar gibi düz nesnelerden oluşan bir JSON dizisi ya da tek satırlık bir tablo olarak ele alınan tek bir JSON nesnesi. Satırlar boyunca tüm anahtarlar birleştirilerek sütunlar oluşturulur; nesne olmayan öğeler reddedilir.
Sütun tipleri nasıl seçilir?
Sütun başına, görülen her değerden: tümü tam sayı INT/BIGINT'e, ondalıklar DECIMAL(p,s) veya DOUBLE'a, boole değerleri TINYINT(1)/BOOLEAN'a, ISO tarih-saatleri DATETIME/DATE'e, nesneler/diziler JSON'a ve diğer dizeler VARCHAR(N)'e (255 karakterin üstünde TEXT).
Hangi SQL lehçeleri desteklenir?
MySQL, PostgreSQL ve SQLite. Lehçe geçişi tip adlarını yeniden yazar (Postgres için SERIAL, JSONB, TIMESTAMP; SQLite için INTEGER/REAL/TEXT afiniteleri) ve doğru tanımlayıcı tırnaklama ile otomatik artış sözdizimini kullanır.
Birincil anahtar nasıl belirlenir?
id veya uuid adlı bir sütun mevcutsa, her satırda null değilse ve benzersiz değerlere sahipse PRIMARY KEY olarak işaretlenir. Bir tam sayı anahtarı ayrıca AUTO_INCREMENT (MySQL), SERIAL (PostgreSQL) veya AUTOINCREMENT (SQLite) alır.

Daha fazla araç