ما هو محول JSON إلى SQL؟
يقوم محول JSON إلى SQL بتحويل مجموعة من كائنات JSON إلى عبارات SQL التي تحتاجها قاعدة البيانات العلائقية لتخزينها. يقرأ مفاتيح الكائنات الخاصة بك كأسماء أعمدة وكل كائن كسجل، ثم يصدر عبارة CREATE TABLE التي تحدد الأعمدة ومجموعة من عبارات INSERT التي تقوم بتحميل البيانات. والنتيجة هي برنامج نصي يمكنك لصقه في عميل قاعدة بيانات، أو حفظه كترحيل، أو توصيله إلى mysql، أو psql، أو sqlite3 لإنشاء جدول وملئه في خطوة واحدة.
وهذا يستحق الأتمتة لأن JSON وSQL يختلفان حول كل شيء تقريبًا. يحتوي JSON على كائنات ومصفوفات وقيم منطقية أصلية؛ يحتوي جدول SQL على أعمدة ثابتة وقيم مكتوبة. التحويل يدويًا يعني تحديد نوع العمود لكل حقل، واقتباس كل سلسلة، ومضاعفة علامات الاقتباس المضمنة حتى لا تنكسر العبارة، وترك الأرقام والقيم المنطقية غير مقتبسة، وتحويل المفاتيح المفقودة إلى NULL، وتسلسل الكائنات المتداخلة إلى نص. تفويت قاعدة واحدة عبر بضع مئات من السجلات وفشل تشغيل الدفعة بأكملها. تطبق هذه الأداة هذه القواعد باستمرار: فهي تقوم بمسح كل كائن ضوئيًا، وتستنتج ما إذا كان كل عمود يحتوي على أعداد صحيحة أو عشرية أو منطقية أو JSON أو معرفات علامات الاقتباس بالطريقة التي تتوقعها اللهجة التي اخترتها، باستخدام علامات التجزئة لـ MySQL وعلامات الاقتباس المزدوجة لـ PostgreSQL وSQLite وSQL القياسية.
إنه يتعامل مع الأجزاء غير الملائمة من البيانات الحقيقية أيضًا. لا يتعين على الكائنات الموجودة في المصفوفة مشاركة نفس المفاتيح: فالأعمدة هي اتحاد كل مفتاح يتم رؤيته، وأي كائن يفتقد مفتاحًا يصبح فارغًا لهذا العمود. يتم تخزين الكائنات والمصفوفات المتداخلة كنص JSON، ويتم تعيينها إلى نوع JSON الأصلي على MySQL وJSONB على PostgreSQL. يعود الحقل الذي يمثل رقمًا في سجل واحد وسلسلة في سجل آخر إلى عمود نصي، لذا يظل INSERT قيد التشغيل بدلاً من الفشل في حالة عدم تطابق النوع.
كل شيء يعمل في متصفحك. يتم تحليل JSON ويتم إنشاء SQL محليًا في JavaScript، لذلك لا يتم تحميل أي شيء أو تسجيله أو تخزينه. وهذا مهم عندما تكون البيانات عبارة عن استجابة واجهة برمجة التطبيقات، أو تصدير قاعدة بيانات، أو أي شيء يحتوي على معرفات ورسائل بريد إلكتروني حقيقية. نظرًا لأن العمل محلي، تستمر الأداة في العمل دون اتصال بالإنترنت بمجرد تحميل الصفحة وتبقى سريعة على الحمولات الكبيرة نظرًا لعدم وجود رحلة ذهابًا وإيابًا على الشبكة.
كيفية استخدام محول JSON إلى SQL؟
الصق JSON الخاص بك
الصق مجموعة من الكائنات، مثل [{"id": 1، "name": "Ada" }]، أو كائن واحد. اضغط على تحميل العينة لرؤية الشكل المتوقع. يصبح كل كائن صفًا واحدًا.
قم بتعيين اسم الجدول واللهجة
اكتب اسم الجدول الهدف واختر MySQL أو PostgreSQL أو SQLite أو SQL القياسي. تتحكم اللهجة في اقتباس المعرف والنوع وبناء الجملة المنطقي المستخدم في الإخراج.
اختر خيارات الإخراج
قرر ما إذا كنت تريد تضمين عبارة CREATE TABLE، واستنتاج أنواع الأعمدة من البيانات، وإصدار عبارة INSERT واحدة متعددة الصفوف أو عبارة واحدة لكل صف.
انسخ SQL
اقرأ عبارات CREATE TABLE وINSERT التي تم إنشاؤها، ثم انسخها. الصق البرنامج النصي في عميل قاعدة البيانات الخاصة بك أو قم بتشغيله من سطر الأوامر لإنشاء الجدول وتحميله.
الميزات الرئيسية
إنشاء جدول بالأنواع المستنتجة
يتم مسح كل كائن ضوئيًا ويتم كتابة كل عمود كعدد صحيح أو عشري أو منطقي أو JSON أو نص، بحيث يطابق جدول الإنشاء الذي تم إنشاؤه البيانات بدلاً من إجبار كل شيء على عمود سلسلة واحد.
أربع لهجات SQL
يستهدف الإخراج MySQL أو PostgreSQL أو SQLite أو SQL القياسي. تحدد اللهجة اقتباس المعرف وأسماء الأنواع الرقمية والمنطقية ونوع JSON الأصلي المستخدم للقيم المتداخلة.
يتعامل مع الأشياء غير المستوية
الكائنات لا تحتاج إلى مفاتيح متطابقة. الأعمدة هي اتحاد جميع المفاتيح بالترتيب الذي تمت رؤيته لأول مرة، وأي كائن يفتقد مفتاحًا يصبح فارغًا لهذا العمود.
القيم المتداخلة مثل JSON
يتم إجراء تسلسل للمصفوفات والكائنات المتداخلة إلى نص JSON وتخزينها في عمود JSON على MySQL، أو عمود JSONB على PostgreSQL، أو عمود TEXT في مكان آخر.
Frequently Asked Questions
Related Tools
CSV to SQL Converter
Convert CSV data into SQL CREATE TABLE and INSERT statements for MySQL, PostgreSQL, or SQLite. Infers column types, escapes values, runs client-side.
JSON Escape / Unescape
Escape and unescape strings for JSON online - handles quotes, backslashes, newlines, tabs, control characters, and \uXXXX Unicode, with optional quote wrapping
JSON to CSV Converter
Convert JSON to CSV online. Turns an array of objects into a spreadsheet-ready file, flattens nested objects, and escapes fields per RFC 4180. Client-side, no signup.
SQL Formatter
Format messy SQL into readable, indented queries or minify SQL to a single line
Comments
0 comments
No comments yet. Be the first to share your thoughts!