Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql 解析json

作者:刺眼的男ren   发布日期:2026-02-15   浏览:90

-- 示例代码:解析 JSON 数据

-- 假设我们有一个包含 JSON 数据的表 `users`,其中有一列 `info` 存储了用户的 JSON 信息。
CREATE TABLE users (
    id INT PRIMARY KEY,
    info JSON
);

-- 插入一些示例数据
INSERT INTO users (id, info) VALUES 
(1, '{"name": "Alice", "age": 25, "address": {"city": "New York", "zip": "10001"}}'),
(2, '{"name": "Bob", "age": 30, "address": {"city": "Los Angeles", "zip": "90001"}}');

-- 解析 JSON 数据
-- 1. 获取用户的姓名
SELECT id, JSON_UNQUOTE(JSON_EXTRACT(info, '$.name')) AS name FROM users;

-- 2. 获取用户的年龄
SELECT id, JSON_UNQUOTE(JSON_EXTRACT(info, '$.age')) AS age FROM users;

-- 3. 获取用户的地址城市
SELECT id, JSON_UNQUOTE(JSON_EXTRACT(info, '$.address.city')) AS city FROM users;

-- 4. 更新用户的年龄
UPDATE users SET info = JSON_SET(info, '$.age', 26) WHERE id = 1;

-- 5. 添加一个新的键值对到 JSON 中
UPDATE users SET info = JSON_SET(info, '$.email', 'alice@example.com') WHERE id = 1;

-- 6. 删除 JSON 中的一个键
UPDATE users SET info = JSON_REMOVE(info, '$.address.zip') WHERE id = 1;

解释说明:

  1. JSON_UNQUOTE 和 JSON_EXTRACTJSON_EXTRACT 用于从 JSON 字段中提取指定路径的数据,JSON_UNQUOTE 用于去除返回结果中的引号。
  2. JSON_SET:用于更新或添加 JSON 字段中的键值对。
  3. JSON_REMOVE:用于删除 JSON 字段中的指定键。

以上代码展示了如何在 MySQL 中解析和操作 JSON 数据。

上一篇:windows启动mysql

下一篇:mysql when case

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站