MySQL आपको संस्करण 5.7.8 से JSON डेटा को मूल JSON डेटा प्रकार में संग्रहीत करने की अनुमति देता है। यह आपको JSON दस्तावेज़ों को आसानी से संग्रहीत करने और डेटा रूपांतरण के बिना JSON डेटा तत्वों को निकालने में सक्षम बनाता है। इस लेख में, हम देखेंगे कि JSON डेटा को MySQL में कैसे स्टोर किया जाए।
MySQL JSON डेटा प्रकार आपको JSON डेटा को स्टोर करने की अनुमति देता है जैसे कि आप आसानी से कुंजी या सरणी इंडेक्स का उपयोग करके मूल्यों को आसानी से पढ़ या खोज सकते हैं, जिससे यह वास्तव में तेज़ हो जाता है। डेटा को क्वेरी करने के लिए टेक्स्ट को JSON या इसके विपरीत में बदलने की कोई आवश्यकता नहीं है।
JSON डेटा को MySQL में कैसे स्टोर करें
हम देखेंगे कि JSON डेटा को MySQL में कैसे स्टोर किया जाए और JSON डेटा टाइप वाले कॉलम को कैसे क्वेरी किया जाए।
JSON कॉलम को परिभाषित करने के लिए सिंटैक्स यहां दिया गया है
column_name JSON
कृपया ध्यान दें, JSON डेटा प्रकार कॉलम में डिफ़ॉल्ट मान नहीं हो सकता है, न ही इसमें कोई अनुक्रमणिका हो सकती है।
यह भी पढ़ें :MySQL में Null Values की तुलना कैसे करें
MySQL JSON डेटा प्रकार उदाहरण
यहां तालिका का एक उदाहरण दिया गया है उपयोगकर्ता (आईडी, विवरण) जहां आईडी एक पूर्णांक और प्राथमिक कुंजी है जबकि विवरण एक JSON डेटा प्रकार कॉलम है।
create table users( id int auto_increment primary key, details json );
JSON को MySQL में कैसे डालें
यहाँ JSON दस्तावेज़ को MySQL में संग्रहीत करने के लिए SQL क्वेरी है।
insert into users(details) values( '{ "page": "/" , "name": "Safari", "os": "Mac", "spend": 100, "resolution": { "x": 1920, "y": 1080 } }' ), ( '{ "page": "/products", "name": "Chrome", "os": "Windows", "spend": 150, "resolution": { "x": 1680, "y": 1050 } }' ), ( '{ "page": "/shoes", "name": "Firefox", "os": "Windows", "spend": 200, "resolution": { "x": 1280, "y": 800 } }' );
हम कॉलम पथ ऑपरेटर (->)
. का उपयोग करके JSON कॉलम से डेटा निकालेंगेप्रत्येक उपयोगकर्ता के लिए ब्राउज़र नाम पुनर्प्राप्त करने के लिए यहां एक उदाहरण दिया गया है।
mysql> select id, details->'$.name' details from users; +----+-----------+ | id | details | +----+-----------+ | 1 | "Safari" | | 2 | "Chrome" | | 3 | "Firefox" | +----+-----------+ 3 rows in set (0.00 sec)
आप देखेंगे कि विवरण कॉलम में दोहरे उद्धरण चिह्न हैं। यदि आप दोहरे उद्धरण चिह्नों को हटाना चाहते हैं, तो इसके बजाय ->> ऑपरेटर का उपयोग करें
उपयोगकर्ताओं सेmysql> select id, details->>'$.name' details from users; +----+-----------+ | id | details | +----+-----------+ | 1 | Safari | | 2 | Chrome | | 3 | Firefox | +----+-----------+ 3 rows in set (0.00 sec)
आप JSON डेटा GROUP BY क्लॉज़ और एग्रीगेशन फ़ंक्शंस भी एकत्र कर सकते हैं। हमारे डेटा में ब्राउज़रों की संख्या गिनने के लिए यहां एक उदाहरण दिया गया है।
mysql> SELECT details->>'$.name' detail, count(detail) FROM users GROUP BY details->>'$.name';
आप निम्न आउटपुट देखेंगे
+---------+----------------+ | details | count(details) | +---------+----------------+ | Safari | 1 | | Firefox | 1 | | Chrome | 1 | +---------+----------------+ 3 rows in set (0.02 sec)
इसी तरह, आप JSON डेटा का उपयोग WHERE क्लॉज में भी कर सकते हैं। खर्च> 100 . के साथ डेटा का चयन करने के लिए यहां एक उदाहरण दिया गया है
mysql> SELECT id, SUM(details->>'$.spend') spend FROM users WHERE details->>'$.spend' > 100 GROUP BY id;
उम्मीद है, यह लेख आपको MySQL में JSON डेटा के साथ काम करने में मदद करेगा। Ubiq डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में उनकी निगरानी करना आसान बनाता है। Ubiq को निःशुल्क आज़माएं।