संदर्भ: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;