Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

क्या MySQL SELECT स्टेटमेंट में JSON ऑब्जेक्ट के मानों का उपयोग कर सकते हैं? JSON_EXTRACT फ़ंक्शन

हां, आप JSON_EXTRACT() का उपयोग कर सकते हैं।

टेबल बनाएं

mysql> create table DemoTable (
    -> Data json
    -> );
Query OK, 0 rows affected (0.63 sec)

रिकॉर्ड्स डालें

mysql> insert into DemoTable values('{"Name": "John", "CountryName": "US"}');
Query OK, 1 row affected (0.33 sec)
mysql> insert into DemoTable values('{"Name": "Chris", "CountryName": "UK"}');
Query OK, 1 row affected (0.15 sec)

सभी रिकॉर्ड्स देखें

mysql> select * from DemoTable;
+----------------------------------------+
| Data                                   |
+----------------------------------------+
| {"Name": "John", "CountryName": "US"}  |
| {"Name": "Chris", "CountryName": "UK"} |
+----------------------------------------+
2 rows in set (0.01 sec)

JSON ऑब्जेक्ट के मानों का उपयोग करके SELECT करने का क्वेरी

mysql> SELECT * FROM DemoTable WHERE JSON_EXTRACT(Data, '$.CountryName') LIKE '%US%';

आउटपुट:

+---------------------------------------+
| Data                                  |
+---------------------------------------+
| {"Name": "John", "CountryName": "US"} |
+---------------------------------------+
1 row in set (0.00 sec)

मुख्य बिंदु:

  • JSON_EXTRACT(json_col, '$.path') - JSON पथ से मान निकालता है
  • $ - रूट ऑब्जेक्ट
  • $.CountryName - CountryName प्रॉपर्टी
  • परिणाम JSON मान होता है (उद्धरण सहित), तुलना के लिए ->> ऑपरेटर (अनक्वोटेड) उपयोग करें: Data->>'$.CountryName' = 'US'
  • MySQL 5.7+ JSON डेटा प्रकार का समर्थन करता है
  1. - MySQL में INSERT INTO SELECT से दूसरी टेबल के डेटा से मान डालें

    MySQL में INSERT INTO ... SELECT स्टेटमेंट का उपयोग करके एक टेबल से डेटा चुनकर दूसरी टेबल में डाल सकते हैं। यह डेटा माइग्रेशन, आर्काइविंग, रिपोर्टिंग टेबल भरने, और ETL प्रक्रियाओं के लिए मूलभूत तकनीक है। सिंटैक्स INSERT INTO target_table (col1, col2, col3) SELECT col1, col2, col3 FROM source_table

  1. - MySQL में UPDATE के साथ सबक्वेरी (SELECT) का उपयोग कैसे करें?

    MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में सबक्वेरी का उपयोग करके अन्य तालिका या शर्त के आधार पर पंक्तियों को अपडेट किया जा सकता है। सिंटैक्स UPDATE table_name SET column = value WHERE column IN (SELECT ... FROM ...); उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Id INT, Name VARCHAR(2

  1. - MySQL में कॉलम मानों से बेतरतीब ढंग से 2 मान चुनें?

    बेतरतीब ढंग से चुनने के लिए ORDER BY RAND() का उपयोग करें। MySQL में केवल 2 मान चुनने के लिए LIMIT 2 का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1815 ( Question text ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: my