MySQL中json的操作

Mysql5.7以上支持json的操作

分类函数描述
创建jsonjson_array创建json数组
json_object创建json对象
json_quote将json转为json字符串类型
查询jsonjson_contains判断是否包含某个json的值
json_contains_path判断某个路径下是否包含json值
json_extract提前json值
json_keys提前json中的键值为json数组
json_search按给定字符串关键字搜索json,返回匹配的路径
json_length查询json数组的大小

select json_array('1', '2', '3');

查询:

 

 json_extract(json对象,'$.key') 等价于   json对象 ->'$.key'

字段userinfo的值'{"name":"无心","age":"18","sex1":"男","编号":"001"}'
select userinfo->'$.name';

注:如果key中包含中文,'$.key'就得改为'$."key"'

select json_length(json_array('1', '2', '3'));

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL提供了一些函数来对JSON数据进行操作。其一些常用的函数包括: 1. JSON_EXTRACT(json_doc, path):用于从JSON数据提取指定路径的值。例如,SELECT JSON_EXTRACT(content, '$.name') FROM json_table; 可以提取出json_table表content字段的name值。 2. JSON_ARRAYAGG(expr):用于将多个表达式的结果合并为一个JSON数组。例如,SELECT JSON_ARRAYAGG(name) FROM json_table; 可以将json_table表的name字段的值合并为一个JSON数组。 3. JSON_OBJECT(key, value, ...):用于创建一个JSON对象。例如,SELECT JSON_OBJECT('name', name, 'age', age) FROM json_table; 可以创建一个包含name和age字段的JSON对象。 4. JSON_ARRAY(value, ...):用于创建一个JSON数组。例如,SELECT JSON_ARRAY(name, age) FROM json_table; 可以创建一个包含name和age字段值的JSON数组。 5. JSON_REMOVE(json_doc, path\[, path\] ...):用于移除JSON数据指定路径的数据。例如,SELECT JSON_REMOVE(content, '$.address.city') FROM json_table WHERE id = 2; 可以移除json_table表id为2的记录address字段的city值。 6. JSON_REPLACE(json_doc, path, val\[, path, val\] ...):用于替换JSON数据指定路径的值。例如,SELECT JSON_REPLACE(content, '$.address.street', 'xxx街道') FROM json_table WHERE id = 1; 可以将json_table表id为1的记录address字段的street值替换为'xxx街道'。 7. JSON_SET(json_doc, path, val\[, path, val\] ...):用于向JSON数据插入数据。例如,SELECT JSON_SET(content, '$.address.street', 'xxx街道') FROM json_table WHERE id = 1; 可以向json_table表id为1的记录address字段插入一个street字段,并设置其值为'xxx街道'。 这些函数可以帮助我们在MySQLJSON数据进行灵活的操作和处理。 #### 引用[.reference_title] - *1* *2* *3* [MySQL数据库基础:JSON函数各类操作一文详解](https://blog.csdn.net/Huangjiazhen711/article/details/127684284)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值