चूंकि बहुत से लोगों ने मुझसे व्यक्तिगत रूप से यह प्रश्न पूछा है, मैंने सोचा कि मैं इस उत्तर को दूसरा संशोधन दूंगा। यहां एक सार है जिसमें सेलेक्ट, माइग्रेशन और व्यू क्रिएशन के साथ संपूर्ण SQL है और एक लाइव sql fiddle (बेला के लिए उपलब्धता की गारंटी नहीं) ।
मान लें कि आपके पास टेबल है (नाम:TBL_JSON) इस तरह:
ID CITY POPULATION_JSON_DATA
-----------------------------------------------------------------------
1 LONDON {"male" : 2000, "female" : 3000, "other" : 600}
2 NEW YORK {"male" : 4000, "female" : 5000, "other" : 500}
प्रत्येक जेसन फ़ील्ड का चयन करने के लिए, आप यह कर सकते हैं:
SELECT
ID, CITY,
json_extract(POPULATION_JSON_DATA, '$.male') AS POPL_MALE,
json_extract(POPULATION_JSON_DATA, '$.female') AS POPL_FEMALE,
json_extract(POPULATION_JSON_DATA, '$.other') AS POPL_OTHER
FROM TBL_JSON;
जिसके परिणाम:
ID CITY POPL_MALE POPL_FEMALE POPL_OTHER
-----------------------------------------------------------------
1 LONDON 2000 3000 600
2 NEW YORK 4000 5000 500
यह आपके डेटा आकार और json जटिलता के आधार पर चलाने के लिए एक महंगा ऑपरेशन हो सकता है। मेरा सुझाव है कि
. के लिए इसका उपयोग करें- डेटाबेस को विभाजित करने के लिए तालिका का स्थानांतरण (परिशिष्ट 2-बी को सार में देखें)
- कम से कम एक दृश्य बनाएं (परिशिष्ट 2-सी को सार में देखें)
इसके लिए देखें:आपके पास json हो सकता है दोहरे उद्धरणों से शुरू करना (स्ट्रिंगीफाइड):
"{"male" : 2000, "female" : 3000, "other" : 600}"
Ubuntu और Mac OSX Sierra पर Mysql 5.7 के साथ परीक्षण किया गया।