mysql中json的使用方式详解
作者:半桶水专家 发布时间:2024-01-27 14:39:43
mysql字段的数据类型支持json格式,可以直接存储json数组和json对象。
一、插入json数据的方式有两种
1、以普通字符串形式插入,需要遵循 json 格式
2、用 内置函数(JSON_OBJECT和JSON_ARRAY)创建JSON数据再插入
二、查询 JSON 中字段的数据
1、column -> 'path' 和 JSON_EXTRACT(column, 'path')形式访问指定字段的具体数据。(*注意path外面都要用单引号包起来)
其中 column 表示要查询的数据字段列名;
path 为 JSON 数据的访问路径,path格式为 $.path 或 $[idx]。
$.path 用于 JSON对象类型数据;
$[idx] 用于 JSON数组类型数据;
$ 代表整个 JSON 数据的 root 节点;
path 为访问字段 key,如果字段名包含空格,则需要用双引号包住,如 $."nick name";(*注意中文字段名也需要双引号包住)
[idx] 是数组的索引。
2、->
和JSON_EXTRACT查询到的字段字符串类型还会有个双引号,还需要做一层处理,可以使用 ->>和JSON_UNQUOTE
去除,且转义符也会去除。
JSON_UNQUOTE(JSON_EXTRACT(column, path)) 等价于 column->>path
3、多级查询的方式有两种:
① column -> '$.key.childKey' path点号连接子集字段的方式访问
② JSON_EXTRACT(JSON_EXTRACT(column, path), path) JSON_EXTRACT嵌套的方式
③column->'$[*].key' 可以查询json数组所有key,返回数组
三、JSON字段的条件搜索
1、精确查询json类型字段
where column-> '$.key' = value
2、模糊查询JsonArray类型字段
where column->'$[*].key' like '%value%'
3、精确查询JsonArray类型字段
where JSON_CONTAINS(column,JSON_OBJECT('key', "value"))
4、多层级关系,模糊查询所有的
where column->'$**.key' like '%value%'
四、JSON字段的更新操作 1、更新字段
JSON_SET(column, path, val[, path, val] ...) 更新或插入
JSON_REPLACE(column, path, val[, path, val] ...) 只更新
2、新增字段
JSON_INSERT(column, path, val[, path, val] ...) 插入新字段,不会改变已经存在的
3、删除字段
JSON_REMOVE(column, path[, path] ...) 删除字段
来源:https://blog.csdn.net/jkzyx123/article/details/130240279


猜你喜欢
- 初学者可能都会遇到一个小问题就是:在用IPython的时候,可以使用类似%matplotlib inline的Magic Function(
- SQL Server重置IDENTITY属性种子值-- IDENTITY重置种子DBCC CHECKIDENT(表名, RESEED, 0)
- django中form表单设置action后,点提交按钮是跳转到action页面的,比如设置action为login,网址为192.168.
- <title>无标题文档</title> <script language="javascript&
- ORACLE 10G修改字符编码,不再麻烦,没有超字符集的限制,可以直接修改成自己想要字符串,不过可能之前已经存在数据可能显示的不正确,需要
- 今天写一个脚本文件,需要将多个文件中的内容汇总到一个txt文件中,由于多个文件有三种不同的编码方式,读写出现错误,先将解决方法记录如下:#
- 1.安装Oracle Client连接到Oracle的前提是在SQL Server服务器上安装Oracle Client。Oracle Cl
- 今年我们的祖国多灾多难 雪灾的阴影还没散去又发生了地震。让我们用手中的画笔为5.12地震受灾同胞们祈福并号召大家为灾区人民捐款!中国插画网祈
- 1.MySQL的安装(1)双击我们去官网下载好的MySQL(2) 一直点下一步,直到遇到以下界面(3)选择Typical,会进行跳转,点击I
- 一、情景 eg:查看一条数据的详情,需要跳转页面,并进行传值二、思路方式1:触发详情按钮时,Js获取到
- JavaScript 读取、删除 Cookie 的函数* * WebFXCookie class */ fun
- MVC代表: 模型-视图-控制器 。MVC是一个架构良好并且易于测试和易于维护的开发模式。基于MVC模式的应用程序包含:· Models:
- 首先声明,这里的权值共享指的不是CNN原理中的共享权值,而是如何在构建类似于Siamese Network这样的多分支网络,且分支结构相同时
- 我们日常用CSS布局的时候,关于图片背景,大部分的人都是一个背景一张图片的,怎么说呢?这是很标准的方法,但是这种普通制作方式下要保存大量图片
- 本文实例为大家分享了Python实现滑雪小游戏的具体代码,供大家参考,具体内容如下源码分享:import sysimport cfgimpo
- 用在产品内容展示的页面上,给产品图片加上提示工具条,鼠标移动图片上即可看到效果,效果还是不错的:带黑白效果和放大图片效果(by misshj
- 一、python批量查询练习通过接口批量查询该ip是否属于指定接口:import requestsimport jsonif __name_
- demo实现脚本下载安装工具需要python3,apktool.jar,apktool1.用apktool进行反编译cmd = 'a
- 前言copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。深复制被复制对象完全再复制一遍作为独立的新个体单
- system函数 说明:执行外部程序并显示输出资料。 语法:string system(string command, int [retur