Referensi:https://dev.mysql.com /doc/refman/5.7/en/json-search-functions.html
Saya tahu ini adalah utas yang lebih lama, tetapi MySQL 5.7 sekarang memiliki tipe JSON di mana Anda dapat mengimpor JSON ke dalam bidang, lalu Anda dapat menggunakan bidang terhitung untuk membagi json menjadi bidang terpisah. Berikut kode kasarnya (belum diuji):
Buat Tabel Pengujian JSON:
CREATE TABLE IF NOT EXISTS jsontest(
rowid INT AUTO_INCREMENT NOT NULL UNIQUE,
jsondata json,
`executionDateTime` TIMESTAMP,
`A` BIGINT UNSIGNED,
`B` BIGINT UNSIGNED,
);
Impor JSON Anda ke bidang JSON:
LOAD DATA LOCAL INFILE '/path/to/testfile.json' into table jsontest(jsondata);
Pisahkan Data Anda (ini dapat digabungkan menjadi satu perintah)
UPDATE jsontest set executionDateTime=(jsondata->>'$.executionDateTime');
UPDATE jsontest set A=(jsondata->>'$.A');
UPDATE jsontest set B=(jsondata->>'$.B');
Jika Anda tidak ingin memiliki bidang tambahan, Anda dapat menanyakan bidang jsondata seperti ini:
SELECT jsondata->>"$.executionDateTime" AS executionDateTime,
jsondata->>"$.A" AS A,
jsondata->>"$.B" AS B;