Json
一 简介
1 什么是JSON?
JSON是一种轻量级的数据交换格式,全称为JavaScript ObjectNotation(JavaScript对象表示法)。它以易于阅读和编写的文本格式来表示结构化数据,常用于Web应用程序之间的数据传输。
JSON由键值对组成 :
对象(Object):用花括号
{}
表示一个对象,对象由多个键值对组成,键值对之间用逗号分隔。
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
数组(Array):用方括号
[]
表示一个数组,数组是由多个值组成,值之间用逗号分隔。
["value1", "value2", "value3"]
二 操作
1 创建json字段
2 插入数据
- 数组:json_array(值1,值2,…)
- 对象:json_object(键1,值1,键2,值2)
3 查询
- json_extract(字段名,“$.key”)
- -> 字段名->“$.key”
- json_keys(字段) 查询key
select id,username,hobby,json_extract(friend,"$.name") from person;
select id,username,hobby,friend->"$.name" from person;
4 修改
json_set(“字段”,“$.key”,值)
update person set friend = json_set(friend,"$.name","侯妈") where id =1
也可以添加属性
update person set friend = json_set(friend,"$.age","18") where id =1
json_remove(字段,key)
update person set friend = json_remove(friend,"$.age") where id =1
5 函数搜索
- JSON_CONTAINS (字段,值)
- JSON_CONTAINS (字段,值,'$.key')
SELECT * FROM person WHERE JSON_CONTAINS(hobby, '"游戏"');
SELECT * FROM person WHERE JSON_CONTAINS(friend,'"老马"','$.name')
注意: 值需要另外加引号,否则报错。