JSON 类型是从 MySQL 5.7 版本开始支持的功能,而 8.0 版本解决了更新 JSON 的日志性能瓶颈。如果要在生产环境中使用 JSON 数据类型,强烈推荐使用 MySQL 8.0 版本。
创建
插入 和 查询
1 | mysql> insert into xuanshan Values('{"day":8,"month":99,"week":66}',1); |
更新
JSON_SET(json_doc, path, val[, path, val] …) 完全抹掉
1 | mysql> update xuanshan set post=JSON_SET('{"day":1}','$.day',33); |
- json_insert就是向json中插入,如果不存在则插入,存在则忽略
- json_replace就是替换json中的项,如果不存在则忽略,存在则替换
- json_set结合前面俩个,存在则替换,不存在则插入
- json_merge_patch多个json进行合并,相同键名,后面的覆盖前面的,如果值是对象,则递归进行处理
- json_merge_preserve多个json进行合并,相同键名,则键值组成新的对象
- json_remove移除掉json某一项