Mysql的json函数使用和虚拟列

Mysql的json函数使用和虚拟列,第1张

需要更多的json函数可以访问以下mysql的官方文档

官方文档的地址

过传统的B+树索引即可实现对JSON格式部分属性的快速查询。使用方法是首先创建该虚拟列,然后在该虚拟列上创建索引

释义 :根据json中的某一个键创建一个虚拟的列,新增的时候,不必新增这个虚拟列的数据,会根据json里面的键自动把数据拿过来。如果这个键不存在,也可以创建成功,只不过没有值,不会报错。后期json里面新增这个键得话,还是根据键拿到值。而不必特意的向虚拟列增加值。

首先需要明确的是,不管json对象还是json数组,所有的引号必须是 双引号 。

上面这是一些正常的例子,下面介绍几个特殊的例子

由于json中的所有引号必须使用 双引号 ,但又不能双引号里包含双引号, 所以上面的第一个例子都必须使用\转义。 第一条例子需要俩次json_decode才能解析到family那一层 。

第一个和第二个例子的直接区别就是:第一个例子的family value是一个字符串,而第二个例子的family value是一个数组对象。

创建json对象

修改json对象

创建json数组

修改json数组

查询json

json属性相关函数

mysql版本:mysql 8

直接将id转换成json数组,输出格式[id1,id2,.....]

直接将id转换成JSON对象数组数组,输出格式[{id:'1',name:'name1'},{id:'2',name:'name2'},.....]

对比俩个json,如果有一个键值对或者数组元素则返回true,否则返回false

非必须要转换类型后在判断

执行结果

参考地址

mysql-doc-8.0-api

https://dev.mysql.com/doc/refman/8.0/en/json-function-reference.html

业务场景

正确写法


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7489488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存