当前位置: 首页> 汽车> 时评 > 数据库中用JSON数据存储

数据库中用JSON数据存储

时间:2025/7/10 7:42:37来源:https://blog.csdn.net/2301_80034662/article/details/140980127 浏览次数: 0次

1 创建数据库

CREATE TABLE test (data JSON
);

1 插入JSON数据的方法

(1)

INSERT INTO test (data) VALUES ('{"name":"李明","age":12}');

(2)

INSERT INTO test (data) VALUES (JSON_OBJECT('name','lisi','age',54));

(3) 插入数组

INSERT INTO test (data) VALUES (JSON_OBJECT('name','lisi','age',54, 'hobby', JSON_ARRAY('旅行', '散步')));

 

2 查询JSON数据的方法

(1) 查询数据

select JSON_EXTRACT(data,'$.age') from test

 (2) 查询数组

<1> 查询单个

select data->'$.hobby' from test
select JSON_EXTRACT(data,'$.hobby[1]') from test

如果查询出来的数据不想要双引号 可以用下面的形式 

select data->>'$.name' from test

<2> 查询多个

select JSON_EXTRACT(data,'$.hobby[0 to 1]') from test

(3)查询是否存在

select * from test where JSON_CONTAINS(data,JSON_OBJECT('name','lisi'))

(4) 只含有一个键就返回数据/全部含有就返回数据

select * from test where JSON_CONTAINS_path(data,'one','$.hobby','$.name')
select * from test where JSON_CONTAINS_path(data,'all','$.hobby','$.name')

(5) 只要含有一个相关数据 返回它的key

select JSON_SEARCH(data,'one','旅行') from test

3 修改JSON数据的方法

(1) 更新

UPDATE test
SET data = JSON_SET(data, '$.hobby[0]', '吃饭')
WHERE id = 4;

 (2) 增加(在原有JSON数据中)

UPDATE test
SET data = JSON_INSERT(data, '$.hobby[2]', '看电影','$.gender','男')
WHERE id = 4;

(3) 替换

UPDATE test
SET data = JSON_REPLACE(data, '$.hobby[2]', '休息')
WHERE id = 4;

(4) 移除

UPDATE test
SET data = JSON_REMOVE(data, '$.name')
WHERE id = 4;

关键字:数据库中用JSON数据存储

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: