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

मैं एक साधारण क्वेरी का उपयोग करके एक JSON फ़ाइल को MySQL डेटाबेस में कैसे आयात कर सकता हूँ, वास्तव में इसे CSV आदि जैसे किसी अन्य फ़ाइल स्वरूप में परिवर्तित किए बिना?

संदर्भ:https://dev.mysql.com /doc/refman/5.7/hi/json-search-functions.html

मुझे पता है कि यह एक पुराना धागा है, लेकिन MySQL 5.7 में अब एक JSON प्रकार है जहाँ आप JSON को एक फ़ील्ड में आयात कर सकते हैं, फिर आप परिकलित फ़ील्ड का उपयोग करके json को अलग-अलग फ़ील्ड में विभाजित कर सकते हैं। यहां रफ कोड है (परीक्षण नहीं किया गया):

JSON टेस्ट टेबल बनाएं:

CREATE TABLE IF NOT EXISTS jsontest(
     rowid INT AUTO_INCREMENT NOT NULL UNIQUE,
     jsondata json,
     `executionDateTime` TIMESTAMP,
     `A` BIGINT UNSIGNED,
     `B` BIGINT UNSIGNED,
     );

अपने JSON को JSON फ़ील्ड में आयात करें:

LOAD DATA LOCAL INFILE '/path/to/testfile.json' into table jsontest(jsondata);

अपने डेटा को विभाजित करें (इसे एक ही कमांड में जोड़ा जा सकता है)

UPDATE jsontest set executionDateTime=(jsondata->>'$.executionDateTime');
UPDATE jsontest set A=(jsondata->>'$.A');
UPDATE jsontest set B=(jsondata->>'$.B');

यदि आप अतिरिक्त फ़ील्ड नहीं चाहते हैं, तो आप jsondata फ़ील्ड को इस तरह से क्वेरी कर सकते हैं:

SELECT jsondata->>"$.executionDateTime" AS executionDateTime,
       jsondata->>"$.A" AS A,
       jsondata->>"$.B" AS B;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Php+Mysql वोटिंग में IP द्वारा प्रतिदिन वोटों को कैसे प्रतिबंधित करें?

  2. खाली स्ट्रिंग पास होने पर डिफ़ॉल्ट मान सेट करें

  3. mysql तालिका संरचना प्रस्ताव?

  4. खंड के बीच MySQL समावेशी नहीं है?

  5. MySQL के साथ माध्यिका की गणना करने का सरल तरीका