MySQL
JSON
खोज…
परिचय
टिप्पणियों
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;
टिप्पणियाँ:
- हमारे json शब्दकोश में
$.variations
सरणी। $ प्रतीक json प्रलेखन का प्रतिनिधित्व करता है। Mysql द्वारा मान्यता प्राप्त json रास्तों की पूरी व्याख्या के लिए https://dev.mysql.com/doc/refman/5.7/en/json-path-syntax.html देखें - चूँकि हमारे पास 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 ;