MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty
【MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty】
文章图片
json_keys
:获取json对象的key值组成的数组json_object
:创建一个json对象json_overlaps
:对比的俩个json有相同的键值对或者数组元素即可json_pretty
:格式化json,符合人类的阅读习惯json_quote
:将字符串引用为json值,换句话说就是把字符串处理成为带双引号的值
- 数据表
文章图片
获取json对象中的key值组成的数组
- 例一
select json_keys(info) from member;
文章图片
创建json对象,配合json_contains使用可以很好的进行查询
- 例一
select * from member where json_contains(info, json_object('age', 27));
文章图片
说明:json_object
组成{"age":27}
,查询info
中是否有这个键值对
对比俩个json,如果有一个键值对或者数组元素则返回true
,否则返回false
- 例一
select * from member where json_overlaps(info, '{"sex":1,"age":27}');
文章图片
info
和{"sex":1,"age":27}
有相同的键值对{"age":27}
格式化json,用处不大,主要是查询出符合人类阅读的格式
- 例一
select json_pretty(info) from member where id = 1;
文章图片
我是没有想到这个函数有什么使用场景
将字符串引用为json值,也就是把字符串转为带双引号的字,跟
json_unquote
相反
- 例一
select json_quote(info) from member;
文章图片
没有发现有什么使用场景
推荐阅读
- mysql|InnoDB数据页结构
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- mysql|一文深入理解mysql
- Java毕业设计项目实战篇|Java项目:在线嘿嘿网盘系统设计和实现(java+Springboot+ssm+mysql+maven)
- SQL|SQL基本功(五)--函数、谓词、CASE表达式
- vue|电商后台管理系统(vue+python|node.js)
- Java及基础算法及数据结构|旧笔记整理(MySQL)
- mysql|双非本211硕,无实习无项目,自学大数据开发,秋招上岸
- 数据库|Mysql--InnoDB存储引擎详解
- MySQL学习笔记-9-order by