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

JSON_ARRAY_INSERT () - MySQL में JSON सरणी में मान डालें

MySQL में, JSON_ARRAY_INSERT() फ़ंक्शन का उपयोग किसी सरणी में एक नया मान डालने के लिए किया जाता है।

आप पहले तर्क के रूप में JSON दस्तावेज़ प्रदान करते हैं, उसके बाद सम्मिलित करने के लिए पथ, उसके बाद डालने के लिए मान प्रदान करते हैं।

सिंटैक्स

वाक्य रचना इस प्रकार है:

JSON_INSERT(json_doc, path, val[, path, val] ...)

कहां:

  • json_doc JSON दस्तावेज़ है।
  • path उस तत्व का पथ है जिसके लिए नया मान सम्मिलित करना है।
  • val नया मान है जो डाला जाएगा।

पथ-मान युग्मों का मूल्यांकन बाएँ से दाएँ किया जाता है। एक जोड़ी का मूल्यांकन करके तैयार किया गया दस्तावेज़ नया मान बन जाता है जिसके विरुद्ध अगले जोड़े का मूल्यांकन किया जाता है।

उदाहरण 1 - मूल उपयोग

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

SELECT JSON_ARRAY_INSERT('[1, 2, 3]', '$[1]', 4) AS 'Result';

परिणाम:

+--------------+
| Result       |
+--------------+
| [1, 4, 2, 3] |
+--------------+

तो तीसरा तर्क निर्दिष्ट पथ पर सरणी में डाला गया है। इस मामले में, मैं $[1] . का उपयोग करता हूं पथ के लिए, जो दूसरे तत्व को संदर्भित करता है (JSON सरणियाँ शून्य-आधारित क्रमांकन का उपयोग करती हैं - क्रमांकन 0 से शुरू होता है। )

उदाहरण 2 - नेस्टेड ऐरे

यहां एक सरणी में मान डालने का एक उदाहरण दिया गया है जो किसी अन्य सरणी के अंदर नेस्टेड है।

SELECT JSON_ARRAY_INSERT('[1, 2, [3, 4]]', '$[2][1]', 5) AS 'Result';

परिणाम:

+-------------------+
| Result            |
+-------------------+
| [1, 2, [3, 5, 4]] |
+-------------------+

तो यहाँ, मैं उपयोग करता हूँ $[2][1] पथ के रूप में। [2] बाहरी सरणी के तीसरे तत्व को संदर्भित करता है। [1] नेस्टेड सरणी के दूसरे तत्व को संदर्भित करता है।

उदाहरण 3 - एक बड़ा JSON दस्तावेज़

यह उदाहरण एक (थोड़ा) बड़ा JSON दस्तावेज़ का उपयोग करता है। यह दर्शाता है कि दस्तावेज़ में सरणी कहाँ है, इसके आधार पर पथ कैसे बदलता है।

SET @data = '{  
    "Person": {    
       "Name": "Homer", 
       "Hobbies": ["Eating", "Sleeping"]  
    }
 }';
SELECT JSON_ARRAY_INSERT(@data, '$.Person.Hobbies[1]', "Base Jumping") AS 'Result';

परिणाम:

+----------------------------------------------------------------------------------+
| Result                                                                           |
+----------------------------------------------------------------------------------+
| {"Person": {"Name": "Homer", "Hobbies": ["Eating", "Base Jumping", "Sleeping"]}} |
+----------------------------------------------------------------------------------+


  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 क्लाइंट को अपग्रेड करने पर विचार करें

  2. INSERT INTO... सभी MySQL कॉलम के लिए चुनें

  3. MySQL में सेलेक्ट INTO और INSERT INTO के बीच अंतर

  4. लेवेनशेटिन:MySQL + PHP

  5. AWS RDS, भाग 2 पर MySQL को PostgreSQL में माइग्रेट करना