mysql增删改查json中的某个字段
SELECT json_extract(字段名,'$.json结构') FROM 表名;
如果json里有双引号,那这样取出来的数据也带双引号,要去掉就使用REPLACE函数
例如:
ps_push_data表里的push_data字段存的数据为:{"carRenewalInfoVo":{"licence":"浙AF55Z0"},"code":"1","msg":"成功"}
使用sql
SELECT REPLACE(json_extract(push_data,'$.carRenewalInfoVo.licence'),'"','') FROM ps_push_data;
取出来的就是:浙AF55Z0
值得注意的是,只有MySQL5.7及以上版本才支持json数据的操作
创建表
CREATE
TABLE
t_json(id
INT
PRIMARY
KEY
,
NAME
VARCHAR
(20) , info JSON);
插入记录
INSERT
INTO
t_json(id,sname,info)
VALUES
(1 ,
'test'
,
'{"time":"2017-01-01 13:00:00","ip":"192.168.1.1","result":"fail"}'
);
INSERT
INTO
t_json(id,sname,info)
VALUES
(2 ,
'my'
,JSON_OBJECT(
"time"
,NOW(),
'ip'
,
'192.168.1.1'
,
'result'
,
'fail'
));
查询IP键
SELECT
sname,JSON_EXTRACT(info,
'$.ip'
)
FROM
t_json;
查询有多少个键
SELECT
id,json_keys(info)
AS
"keys"
FROM
t_json;
删除键
UPDATE
t_json
SET
info = json_remove(info,
'$.ip'
);
增加键
UPDATE
t_json
SET
info = json_set(info,
'$.ip'
,
'192.168.1.1'
);
变更值
UPDATE
t_json
SET
info = json_set(info,
'$.ip'
,
'192.168.1.2'
);
————————————————
原文链接:https://blog.csdn.net/yuhui123999/article/details/83539149
https://blog.csdn.net/qyt0147/article/details/79978869
posted on 2021-06-08 20:10 Ryanyanglibin 阅读(1211) 评论(0) 编辑 收藏 举报