Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में JSON डेटा कैसे स्टोर करें

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 को निःशुल्क आज़माएं।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में अग्रणी / अनुगामी वर्णों के साथ एक स्ट्रिंग को कैसे पैड करें - LPAD (), RPAD ()

  2. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:संचार लिंक विफलता

  3. SQL वर्कर कॉलम लंबाई के लिए सर्वोत्तम अभ्यास

  4. MySQL रूट पासवर्ड कैसे रीसेट करें

  5. एसक्यूएल:प्रति समूह अधिकतम रिकॉर्ड खोजें