create table t1(name json);
insert into t1 values(’ {
“hello”: “song”,
“num”: 111,
“obj”: { “who”: “me”, “arr”: [ 1, 2, “three” ], “more”:“hey” },
“bool”: true,
“can”: false,
“learning”: null,
“chiness”: “中文”
}' );

mysql> select json_depth(name) from t1; 

返回json文本的深度 输出结果----4;
1 rows in set (0.02 sec)

mysql> select json_length(name) from t1; 

返回json文本的长度 输出结果----9
1 rows in set (0.01 sec)

mysql> select json_type(name) from t1; 

返回json值得类型 输出结果----OBJECT
1 rows in set (0.04 sec)

mysql> SELECT JSON_VALID(‘hello’) a, JSON_VALID(‘“hello”’) b; 

判读是否是合法的json类型 返回结果:a:0 b:1
1 row in set (0.00 sec)

mysql> select json_keys(name) as a from t1; 

查看存储的json有哪些key 返回结果:array[
'a'=> [“hello”, “link”, “can”, “num”, “bool”, “learning”, “notLink”, “obj”, “chiness”],
]
1 rows in set (0.05 sec)

mysql> select json_keys(name,’obj’) as a from t1; 

查看obj有哪些key 返回结果:array['a' =>[“more”,“who”,“arr”]]
5rowsinset(0.00sec)

mysql>select jsonsearch(name,′one′,′me′) as a from t1;

查看第一次出现的位置 返回结果:array['“.obj.who”']

mysql> select json_search(name,’all’,’%aaaaa%’) as a from t1; 

查看所有包含aaaaa的位置 返回结果:aaaaa所在的key json_search(name,’all’,’%json%’)
1rows in set (0.00 sec)

mysql> select json_extract(name,’link[]’) as a from t1; 

抽取值 返回结果:查找的key所对应的value 如:“http://jsonview.com
1 rows in set (0.00 sec)

mysql> select json_extract(name,’obj[].more[]’) from t1; 

抽取值 返回结果同上
1 rows in set (0.00 sec)
或者使用下面的方式

mysql> select name,name->’key2’ from t1; 

{“key1”: “value1”, “key2”: “value2”} | “value2” |

mysql> select JSON_ARRAY_APPEND(name,’name’,’xxx’) from t1; 

追加记录 在指定的json字段追加key-value 参数(字段名,key,value)

mysql> select JSON_REMOVE(name,’name’) from t1; 

删除json数据 参数(字段名,key)

mysql> select JSON_set(name,’name’,’ooo’) from t1; 

有就替换,没有就insert

mysql> SELECT JSON_UNQUOTE(JSON_EXTRACT(name, ‘name’)) AS name from t1; 

查询结果去掉双引号 返回字段name中的key为name的集合,没有“”
因为 JSON 不同于字符串,所以如果用字符串和 JSON 字段比较,是不会相等的可以通过
where key->'$.value'的形式去查询 ->和->>结果等效

最新文章

  1. 信号量sem
  2. 前端学习 第二弹: JavaScript中的一些函数与对象(1)
  3. 又是一周-AJAX(三)
  4. 欧洲用户放弃Android转投iOS原因大起底
  5. Edius 安装 looks插件整理
  6. mysql shell 备份脚本
  7. 大话设计模式之策略模式(strategy)
  8. Guava Collect
  9. SQL Server AlwaysON 同步模式的疑似陷阱
  10. linux学习笔记----文件与目录管理
  11. springMvc <form action="">提交跳转路径问题
  12. IO (一)
  13. iOS中类单例方法的一种实现
  14. 安卓TV开发(概述) 智能电视之视觉设计和体验分析
  15. if __name__ == '__main__':用法
  16. 为Ubuntu新创建用户创建默认.bashrc并自动加载
  17. HoloLens开发手记 - 使用混合现实捕捉 Using mixed reality capture
  18. elasticsearch版本控制及mapping映射属性介绍
  19. activemq 生产消费模式,订阅发布模式不同类型数据传输
  20. 学习docker后的个人理解

热门文章

  1. linux 运维基本操作
  2. error: 'for' loop initial declaration used outside C99 mode的解决方法
  3. mysql优化查找执行慢的sql
  4. go - helloword
  5. js获取数组中的最大值/最小值
  6. UDP丢包原因总结
  7. vs2017+qt5.x编译32位应用<转>
  8. Weblogic部署web项目代码中获取项目名为null的问题
  9. SQLServer : 找中间日期
  10. win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件