Tham khảo: https://dev.mysql.com /doc/refman/5.7/en/json-search-functions.html
Tôi biết đây là một luồng cũ hơn, nhưng MySQL 5.7 hiện có kiểu JSON nơi bạn có thể nhập JSON vào một trường, sau đó bạn có thể sử dụng các trường được tính toán để chia json thành các trường riêng biệt. Đây là mã thô (chưa được kiểm tra):
Tạo Bảng kiểm tra JSON:
CREATE TABLE IF NOT EXISTS jsontest(
rowid INT AUTO_INCREMENT NOT NULL UNIQUE,
jsondata json,
`executionDateTime` TIMESTAMP,
`A` BIGINT UNSIGNED,
`B` BIGINT UNSIGNED,
);
Nhập JSON của bạn vào trường JSON:
LOAD DATA LOCAL INFILE '/path/to/testfile.json' into table jsontest(jsondata);
Tách dữ liệu của bạn (điều này có thể được kết hợp thành một lệnh duy nhất)
UPDATE jsontest set executionDateTime=(jsondata->>'$.executionDateTime');
UPDATE jsontest set A=(jsondata->>'$.A');
UPDATE jsontest set B=(jsondata->>'$.B');
Nếu bạn không muốn có thêm các trường, bạn có thể truy vấn trường jsondata như sau:
SELECT jsondata->>"$.executionDateTime" AS executionDateTime,
jsondata->>"$.A" AS A,
jsondata->>"$.B" AS B;