【2021/12/21】MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty

MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty

【2021/12/21】MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty

  1. json_keys:获取json对象的key值组成的数组
  2. json_object:创建一个json对象
  3. json_overlaps:对比的俩个json有相同的键值对或者数组元素即可
  4. json_pretty:格式化json,符合人类的阅读习惯
  5. json_quote:将字符串引用为json值,换句话说就是把字符串处理成为带双引号的值
  • 数据表
    【2021/12/21】MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty

json_keys

获取json对象中的key值组成的数组

  • 例一
    select json_keys(info) from member;
    【2021/12/21】MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty

json_object

创建json对象,配合json_contains使用可以很好的进行查询

  • 例一
    select * from member where json_contains(info, json_object('age', 27));
    【2021/12/21】MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty
    说明:json_object组成{"age":27},查询info中是否有这个键值对

json_overlaps

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

  • 例一
    select * from member where json_overlaps(info, '{"sex":1,"age":27}');
    【2021/12/21】MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty
    info{"sex":1,"age":27}有相同的键值对{"age":27}

json_pretty

格式化json,用处不大,主要是查询出符合人类阅读的格式

  • 例一
    select json_pretty(info) from member where id = 1;
    【2021/12/21】MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty
    我是没有想到这个函数有什么使用场景

json_quote

将字符串引用为json值,也就是把字符串转为带双引号的字,跟json_unquote相反

  • 例一
    select json_quote(info) from member;
    【2021/12/21】MySQL的json查询之json_keys、json_object、json_overlaps、json_pretty
    没有发现有什么使用场景

留言

点击留言

上一篇:Redis相关命令以及持久化


下一篇:内网穿透