Referens:https://dev.mysql.com /doc/refman/5.7/en/json-search-functions.html
Jag vet att detta är en äldre tråd, men MySQL 5.7 har nu en JSON-typ där du kan importera JSON till ett fält, sedan kan du använda beräknade fält för att dela upp json i separata fält. Här är grov kod (ej testad):
Skapa en JSON-testtabell:
CREATE TABLE IF NOT EXISTS jsontest(
rowid INT AUTO_INCREMENT NOT NULL UNIQUE,
jsondata json,
`executionDateTime` TIMESTAMP,
`A` BIGINT UNSIGNED,
`B` BIGINT UNSIGNED,
);
Importera din JSON till JSON-fältet:
LOAD DATA LOCAL INFILE '/path/to/testfile.json' into table jsontest(jsondata);
Dela upp dina data (detta kan kombineras till ett enda kommando)
UPDATE jsontest set executionDateTime=(jsondata->>'$.executionDateTime');
UPDATE jsontest set A=(jsondata->>'$.A');
UPDATE jsontest set B=(jsondata->>'$.B');
Om du inte vill ha extra fält kan du fråga jsondata-fältet så här:
SELECT jsondata->>"$.executionDateTime" AS executionDateTime,
jsondata->>"$.A" AS A,
jsondata->>"$.B" AS B;