UTILS.
‎100%‎ داخل المتصفح
🗄

من JSON إلى SQL CREATE TABLE

استنتج تعريف SQL CREATE TABLE (وعبارات INSERT اختيارية) من مصفوفة JSON من الكائنات، مع اختيار أنواع الأعمدة تلقائيًا لـ MySQL أو PostgreSQL أو SQLite.

— يظهر المخرج هنا —

حول هذه الأداة

تقرأ أداة من JSON إلى SQL CREATE TABLE مصفوفة JSON من الكائنات (أو كائنًا واحدًا) وتستنتج تعريف جدول SQL مطابق، مع اختيار نوع كل عمود من القيم التي تراها فعلًا. تعمل بالكامل في متصفحك — يُحلَّل JSON بـ JSON.parse الأصلية ولا يغادر جهازك أبدًا — فيمكنك لصق تفريغ API أو تصدير قاعدة بيانات وإنشاء جدول في خطوة واحدة.

تُستنتَج أنواع الأعمدة لكل حقل عبر كل صف: القيم التي هي كلها أعداد صحيحة تصبح INT (BIGINT عندما تتجاوز أي قيمة 2,147,483,647)، والأرقام ذات الكسور تصبح DECIMAL(p,s) بحجم يناسب أوسع أعداد أرقام الجزء الصحيح والجزء الكسري التي زوّدتها (أو DOUBLE / REAL عندما تختار وضع الفاصلة العائمة)، والقيم المنطقية تُطابَق بـ TINYINT(1)/BOOLEAN، وسلاسل ISO 8601 تُطابَق بـ DATETIME أو DATE، والكائنات والمصفوفات المتداخلة تصبح JSON/JSONB، والسلاسل المتبقية تصبح VARCHAR(N) حيث N هي القوة الثانية التالية فوق أطول قيمة (TEXT بمجرد أن يتجاوز ذلك 255). العمود الذي يكون null أو غائبًا في أي صف يُترَك NULLABLE؛ وإلا يكون NOT NULL. العمود الفريد وغير الـ null المسمّى id أو uuid يُرقّى إلى PRIMARY KEY، مع إضافة AUTO_INCREMENT / SERIAL / AUTOINCREMENT للمفاتيح الصحيحة.

يعيد مفتاح اللهجة كتابة الأنواع لـ MySQL أو PostgreSQL (SERIAL, JSONB, TIMESTAMP, DOUBLE PRECISION) أو SQLite (تقاربات INTEGER / REAL / TEXT) ويقتبس المُعرّفات بالفاصل الصحيح (علامات اقتباس خلفية لـ MySQL، وعلامات اقتباس مزدوجة في غيرها). فعّل خيار INSERTs لإصدار عبارة INSERT واحدة لكل صف أيضًا، مع تهريب واقتباس السلاسل والقيم المنطقية والأرقام وقيم JSON للهجة المختارة.

الأسئلة الشائعة

ما المُدخَل الذي تتوقّعه؟
مصفوفة JSON من كائنات مسطّحة، مثل صفوف من API أو تصدير، أو كائن JSON واحد يُعامَل كجدول من صف واحد. تُوحَّد كل المفاتيح عبر الصفوف لتكوين الأعمدة؛ وتُرفَض العناصر غير الكائنية.
كيف تُختار أنواع الأعمدة؟
لكل عمود، من كل قيمة تُرى: أعداد صحيحة كليًا إلى INT/BIGINT، والكسور إلى DECIMAL(p,s) أو DOUBLE، والقيم المنطقية إلى TINYINT(1)/BOOLEAN، وتواريخ وأوقات ISO إلى DATETIME/DATE، والكائنات/المصفوفات إلى JSON، والسلاسل الأخرى إلى VARCHAR(N) (TEXT فوق 255 حرفًا).
أي لهجات SQL مدعومة؟
MySQL وPostgreSQL وSQLite. يعيد مفتاح اللهجة كتابة أسماء الأنواع (SERIAL, JSONB, TIMESTAMP لـ Postgres؛ وتقاربات INTEGER/REAL/TEXT لـ SQLite) ويستخدم اقتباس المُعرّفات وصيغة الزيادة التلقائية الصحيحة.
كيف يُقرَّر المفتاح الأساسي؟
إذا كان عمود مسمّى id أو uuid موجودًا وغير null في كل صف بقيم فريدة، فإنه يُعلَّم PRIMARY KEY. المفتاح الصحيح يحصل أيضًا على AUTO_INCREMENT (MySQL) أو SERIAL (PostgreSQL) أو AUTOINCREMENT (SQLite).

المزيد من الأدوات