mysql操作json字段

来自chatgpt

1. 创建表时定义 JSON 字段:

CREATE TABLE products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255),
    details JSON
);

在上面的示例中,我们创建了一个名为 products 的表,其中包含一个 details 列,其数据类型为 JSON。

2. 插入 JSON 数据:

INSERT INTO products (name, details)
VALUES ('Product A', '{"color": "red", "price": 100}');

上述语句将一条包含 JSON 数据的记录插入到 products 表中。

3. 查询 JSON 数据:

3.1. 选择整个 JSON 字段:

SELECT details FROM products;

3.2. 获取 JSON 字段中的特定属性:

SELECT details->'$.color' FROM products;

3.3. 使用 JSON_EXTRACT 函数获取属性:

SELECT JSON_EXTRACT(details, '$.price') FROM products;

4. 更新 JSON 数据:

UPDATE products
SET details = JSON_SET(details, '$.price', 120)
WHERE name = 'Product A';

上述语句将名为 'Product A' 的产品的价格字段更新为 120。sql

5. 添加 JSON 数据到数组:

UPDATE products
SET details = JSON_ARRAY_APPEND(details, '$.features', 'wireless')
WHERE name = 'Product A';

这将在 'features' 数组中添加一个新的元素 'wireless'。

6. 删除 JSON 数据:

UPDATE products
SET details = JSON_REMOVE(details, '$.color')
WHERE name = 'Product A';

上述语句将删除 'color' 属性。


发表评论

评论列表,共 0 条评论

    暂无评论