खोज…


परिचय

MySQL 5.7.8 के रूप में, MySQL एक देशी JSON डेटा प्रकार का समर्थन करता है जो JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) दस्तावेजों में डेटा तक कुशल पहुंच सक्षम करता है। https://dev.mysql.com/doc/refman/5.7/en/json.html

टिप्पणियों

MySQL 5.7.8 से शुरू, MySQL जहाज एक JSON प्रकार के साथ। देवों के बहुत सारे लोग JSON डेटा को लॉग टाइम के लिए टेक्स्ट कॉलम में सहेज रहे हैं, लेकिन JSON प्रकार भिन्न है, डेटा सत्यापन के बाद बाइनरी प्रारूप में सहेजा जाता है। कि प्रत्येक पाठ पर पाठ पार्स करने के ओवरहेड से बचा जाता है।

एक प्राथमिक कुंजी और JSON फ़ील्ड के साथ सरल तालिका बनाएं

CREATE TABLE table_name (
    id INT NOT NULL AUTO_INCREMENT, 
    json_col JSON,
    PRIMARY KEY(id)
);

एक साधारण JSON डालें

INSERT INTO
    table_name (json_col) 
VALUES
    ('{"City": "Galle", "Description": "Best damn city in the world"}');

यह सरल है क्योंकि यह मिल सकता है लेकिन ध्यान दें कि क्योंकि JSON शब्दकोश कुंजी को दोहरे उद्धरण चिह्नों से घिरा होना चाहिए, पूरी बात को एकल उद्धरण में लपेटा जाना चाहिए। यदि क्वेरी सफल होती है, तो डेटा को बाइनरी प्रारूप में संग्रहीत किया जाएगा।

एक JSON क्षेत्र में मिश्रित डेटा डालें।

यह एक json शब्दकोश सम्मिलित करता है जहाँ सदस्यों में से एक तालिका में स्ट्रिंग्स का एक सरणी है जो एक और उदाहरण में बनाया गया था।

INSERT INTO myjson(dict) 
VALUES('{"opening":"Sicilian","variations":["pelikan","dragon","najdorf"]}');

ध्यान दें, एक बार फिर, कि आपको सिंगल और डबल कोट्स के उपयोग से सावधान रहने की आवश्यकता है। पूरी चीजों को सिंगल कोट्स में लपेटा जाना है।

JSON फ़ील्ड अपडेट करना

पिछले उदाहरण में हमने देखा कि कैसे JSON फ़ील्ड में मिश्रित डेटा प्रकार डाले जा सकते हैं। क्या होगा अगर हम उस फील्ड को अपडेट करना चाहते हैं? हम पिछले उदाहरण में variations नाम सरणी में scheveningen जोड़ने जा रहे हैं।

UPDATE 
    myjson 
SET 
    dict=JSON_ARRAY_APPEND(dict,'$.variations','scheveningen') 
WHERE 
    id = 2;

टिप्पणियाँ:

  1. हमारे json शब्दकोश में $.variations सरणी। $ प्रतीक json प्रलेखन का प्रतिनिधित्व करता है। Mysql द्वारा मान्यता प्राप्त json रास्तों की पूरी व्याख्या के लिए https://dev.mysql.com/doc/refman/5.7/en/json-path-syntax.html देखें
  2. चूँकि हमारे पास json फ़ील्ड का उपयोग करते हुए क्वेरी करने का कोई उदाहरण नहीं है, इसलिए यह उदाहरण प्राथमिक कुंजी का उपयोग करता है।

अब यदि हम SELECT * FROM myjson करते हैं तो हम देखेंगे

+----+-----------------------------------------------------------------------------------------+
| id | dict                                                                                    |
+---+-----------------------------------------------------------------------------------------+
| 2  | {"opening": "Sicilian", "variations": ["pelikan", "dragon", "najdorf", "scheveningen"]} |
+----+-----------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

JSON प्रकार के लिए कास्ट डेटा

यह मान्य JSON स्ट्रिंग्स को MySQL JSON प्रकार में परिवर्तित करता है:

 SELECT CAST('[1,2,3]' as JSON) ;
 SELECT CAST('{"opening":"Sicilian","variations":["pelikan","dragon","najdorf"]}' as JSON);

Json Object और Array बनाएँ

JSON_OBJECT JSON ऑब्जेक्ट्स बनाता है:

 SELECT JSON_OBJECT('key1',col1 , 'key2',col2 , 'key3','col3') as myobj;

JSON_ARRAY JSON Array भी बनाता है:

 SELECT JSON_ARRAY(col1,col2,'col3') as myarray;

नोट: myobj.key3 और myarray [2] निश्चित स्ट्रिंग के रूप में "col3" हैं।

मिश्रित JSON डेटा:

 SELECT JSON_OBJECT("opening","Sicilian", "variations",JSON_ARRAY("pelikan","dragon","najdorf") ) as mymixed ;


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow