AzLearn

JSON في SQLite

JSON in SQLite

مفهوم ~18 دقيقة

JSON في SQLite

SQLite تدعم دوال JSON مثل json_extract. هذا مفيد للبيانات المرنة أو metadata صغيرة. لكن لا تجعل JSON بديلاً عن schema واضح للبيانات الأساسية. إذا كنت تستعلم عن الحقل كثيراً أو تفرض عليه قيوداً، غالباً يستحق عموداً حقيقياً.

استخدم JSON للملحقات أو الإعدادات التي لا تحتاج علاقات قوية. أما المال، الحالة، المفاتيح، والمخزون فمكانها أعمدة typed وقيود.

مثال عملي

query.sql

الاستعلام يستخرج course من JSON.

مشغّلا -> و->> — SQLite 3.38+

SQLite 3.38 (صدرت يناير 2022) أضافت مشغّلَي -> و->> بديلاً أقصر لـjson_extract. PostgreSQL تدعمهما منذ 9.4 (2014).

query.sql

الفرق بين -> و->>:

  • -> يُرجع القيمة كـJSON (نص محاط بـ" للنصوص، أرقام كأرقام JSON).
  • ->> يُرجع القيمة كنوع SQL مناسب (TEXT، INTEGER، REAL، NULL).

للكود الإنتاجي في SQLite التوافقي (تشغيل على إصدارات أقدم من 3.38)، ابقَ مع json_extract. للمشاريع الجديدة على بيئة محكومة، ->> أكثر وضوحاً.

تحدي — Challenge