MySQL JSON_TABLE 功能详解与实战应用【含代码示例】
-- 假设我们有一个包含JSON数据的表
CREATE TABLE orders (id INT, data JSON);
-- 插入一些示例数据
INSERT INTO orders (id, data) VALUES
(1, '{"items": [{"id": "A", "quantity": 10}, {"id": "B", "quantity": 20}]}'),
(2, '{"items": [{"id": "C", "quantity": 30}, {"id": "D", "quantity": 40}]}');
-- 使用JSON_TABLE函数提取JSON数据
SELECT
o.id,
i.id AS item_id,
i.quantity
FROM
orders o,
JSON_TABLE(
o.data->>'$.items',
'$[*]'
COLUMNS (
id VARCHAR(100) PATH '$.id',
quantity INT PATH '$.quantity'
)
) AS i;
这段代码首先创建了一个包含JSON数据的表,然后插入了一些示例数据。接着,使用JSON_TABLE
函数来解析每个订单中的items数组,并提取每个item的id和quantity。这个例子展示了如何使用JSON_TABLE
来处理嵌套的JSON数据,并将其转换为关系表格式,使得后续的查询和分析操作更加方便。
评论已关闭