Referenz:https://dev.mysql.com /doc/refman/5.7/en/json-search-functions.html
Ich weiß, dass dies ein älterer Thread ist, aber MySQL 5.7 hat jetzt einen JSON-Typ, bei dem Sie JSON in ein Feld importieren können, dann können Sie berechnete Felder verwenden, um den JSON in separate Felder aufzuteilen. Hier ist grober Code (nicht getestet):
Erstellen Sie eine JSON-Testtabelle:
CREATE TABLE IF NOT EXISTS jsontest(
rowid INT AUTO_INCREMENT NOT NULL UNIQUE,
jsondata json,
`executionDateTime` TIMESTAMP,
`A` BIGINT UNSIGNED,
`B` BIGINT UNSIGNED,
);
Importieren Sie Ihren JSON in das JSON-Feld:
LOAD DATA LOCAL INFILE '/path/to/testfile.json' into table jsontest(jsondata);
Teilen Sie Ihre Daten auf (dies könnte in einem einzigen Befehl kombiniert werden)
UPDATE jsontest set executionDateTime=(jsondata->>'$.executionDateTime');
UPDATE jsontest set A=(jsondata->>'$.A');
UPDATE jsontest set B=(jsondata->>'$.B');
Wenn Sie keine zusätzlichen Felder haben möchten, können Sie das jsondata-Feld wie folgt abfragen:
SELECT jsondata->>"$.executionDateTime" AS executionDateTime,
jsondata->>"$.A" AS A,
jsondata->>"$.B" AS B;