Справка:https://dev.mysql.com /doc/refman/5.7/en/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;