MySql5.7 json查询
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'的形式去查询   ->和->>结果等效
MySql5.7 json查询的更多相关文章
- MySQL5.7 JSON类型及其相关函数的学习
		mysql> CREATE TABLE `json_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `info` json NOT NULL, PR ... 
- JS 实现Json查询的方法实例
		其实很简单,我这部分代码,前一部分是简单的实现如何使用JS写模板,第二个就是具体的实现了JSON查询的一个扩展. 以后查询Json就有了利器了. 代码如下: /* * 定义模板函数 ... 
- CCF CSP 201709-3 JSON查询
		CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-3 JSON查询 问题描述 JSON (JavaScript Object Not ... 
- CCF-CSP题解 201709-3 JSON查询
		要求写一个小程序完成JSON查询的功能. 查询dfs就好了. 存储JSON对象用图(树)就好,把\(<key[],type,val[]>\)作为节点,然后又是字符串处理了. 其实就是个简化 ... 
- CCF-CSP 201709-3 JSON查询 题解
		试题编号: 201709-3 试题名称: JSON查询 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 JSON (JavaScript Object Notation) 是一 ... 
- CCF 201709-3 JSON查询
		CCF 201709-3 JSON查询 试题编号: 201709-3 试题名称: JSON查询 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 JSON (JavaScript ... 
- MySQL全文索引、联合索引、like查询、json查询速度大比拼
		目录 查询背景 一.like查询 二.json函数查询 三.联合索引查询 四.全文索引查询 结论 查询背景 有一个表tmp_test_course大概有10万条记录,然后有个json字段叫outlin ... 
- CCF(JSON查询:40分):字符串+模拟
		JSON查询 201709-3 纯字符串模拟,考的就是耐心和细心.可惜这两样我都缺... #include<iostream> #include<cstdio> #includ ... 
- MySQL5.7 JSON实现简介
		版权声明:本文由吴双桥原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/205 来源:腾云阁 https://www.qclo ... 
随机推荐
- 传统IT容量估算思路
			参考: https://www.cnblogs.com/zhangweizhong/p/5844961.html https://www.cnblogs.com/zhangweizhong/p/577 ... 
- vant checkBox 批量删除
			有两种实现方式,当然不止两种 一:使用 filter 将我们需要的过滤出来,也就是哪个没有选中就过滤哪个 二:使用splice数组方法,将我们选择需要删除的 index 放到一个数组里面,然后进行删除 ... 
- R 指定安装镜像的方法
			方法一 options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))) install ... 
- Cookie 的 SameSite 属性
			转自http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html Chrome 51 开始,浏览器的 Cookie 新增加了一个SameSit ... 
- oracle--CKPT
			一,CKPT功能 ) 调度数据写: ) 会将已经完成的检查点写到数据文件头: ) 把已经完成的检查点写到控制文件: . other:其他进程: . 注意:磁盘.内存支持并行I/O,磁带不支持: . 服 ... 
- Spring Boot 之配置导入,强大到不行!
			我们知道在 Spring Boot 中可以用一个 @Configuration 配置文件来配置所有 Bean 及其他配置(不会的看这篇文章:Spring零配置之@Configuration注解详解), ... 
- arris1750 pandorabox安装bandwidthd之后带宽监控(nlbwmon)报资源不足
			nlbwmon 报错资源不足不能看的原因很可能是内存不足导致,因为重启进程会概率可用一下,且删除老的数据后又好用了. 可能与设置的最大数据库条数有关,条数过大导致申请内存大,改成默认的10000. 可 ... 
- http 请求方式解析
			表单中<form></form>, 如果使用method="get"方式提交,则不会指定请求体编码方式.默认请求参数使用?拼接到url之后.如:http:/ ... 
- [原]globalmapper设置高程配色(globalmapper自定义配色方案)
			1.使用的globalmapper版本:1.8以上(之前的版本也应该支持) 2.将全球DEM加载进去 (零时找的小DEM 全球7级) 3.右击此处,选择“高程图例选项” 4.选择 配置-着色器选项 ... 
- RabbitMQ安装后无法访问15672端口
			切换到RabbitMQ的安装目录 sbin 目录下执行: rabbitmq-plugins enable rabbitmq_management 即可打开管理界面. rabbitmq的web管理界面无 ... 
