Reference:https://dev.mysql.com /doc/refman/5.7/da/json-search-functions.html
Jeg ved godt, at dette er en ældre tråd, men MySQL 5.7 har nu en JSON-type, hvor du kan importere JSON til et felt, så kan du bruge beregnede felter til at opdele json i separate felter. Her er en grov kode (ikke testet):
Opret en JSON-testtabel:
CREATE TABLE IF NOT EXISTS jsontest(
rowid INT AUTO_INCREMENT NOT NULL UNIQUE,
jsondata json,
`executionDateTime` TIMESTAMP,
`A` BIGINT UNSIGNED,
`B` BIGINT UNSIGNED,
);
Importer din JSON til JSON-feltet:
LOAD DATA LOCAL INFILE '/path/to/testfile.json' into table jsontest(jsondata);
Del dine data op (dette kan kombineres til en enkelt kommando)
UPDATE jsontest set executionDateTime=(jsondata->>'$.executionDateTime');
UPDATE jsontest set A=(jsondata->>'$.A');
UPDATE jsontest set B=(jsondata->>'$.B');
Hvis du ikke vil have ekstra felter, kan du forespørge i jsondata-feltet sådan her:
SELECT jsondata->>"$.executionDateTime" AS executionDateTime,
jsondata->>"$.A" AS A,
jsondata->>"$.B" AS B;