创建表

1 CREATE TABLE t_json(id INT PRIMARY KEY, NAME VARCHAR(20), info JSON);

插入记录

1 INSERT INTO t_json(id,sname,info) VALUES(1 , 'test' , '{"time":"2017-01-01 13:00:00","ip":"192.168.1.1","result":"fail"}' );
2 INSERT INTO t_json(id,sname,info) VALUES(2 , 'my' ,JSON_OBJECT( "time" ,NOW(), 'ip' , '192.168.1.1' , 'result' , 'fail' ));

查询

查询有多少个键

1 SELECT id, json_keys(info) AS "keys" FROM t_json;

查询字段值

方法1:

1 SELECT json_extract(字段名,'$.json结构') FROM 表名;

如果json里有双引号,那这样取出来的数据也带双引号,要去掉就使用REPLACE函数
例如:
ps_push_data表里的push_data字段存的数据为:{"carRenewalInfoVo":{"licence":"浙AF55Z0"},"code":"1","msg":"成功"}
使用sql

1 SELECT REPLACE(json_extract(push_data,'$.carRenewalInfoVo.licence'),'"','') FROM ps_push_data;

取出来的就是:浙AF55Z0

值得注意的是,只有MySQL5.7及以上版本才支持json数据的操作

方法2:

1 SELECT 字段名 -> '$.json结构' FROM 表名;

同上,如果json里有双引号,那这样取出来的数据也带双引号,要去掉就要使用另一个方法:

1 SELECT 字段名 ->> '$.json结构' FROM 表名;

例如:
ps_push_data表里的push_data字段存的数据为:{"carRenewalInfoVo":{"licence":"浙AF55Z0"},"code":"1","msg":"成功"}

取出来的就是:浙AF55Z0

值得注意的是,只有MySQL5.7及以上版本才支持json数据的操作

删除键

1 UPDATE t_json SET info = json_remove(info, '$.ip' );

增加键

1 UPDATE t_json SET info = json_set(info, '$.ip' , '192.168.1.1' );

变更键

1 UPDATE t_json SET info = json_set(info, '$.ip' , '192.168.1.2' );

最新文章

  1. 移动端API架构 统一Proxy还是各自为政?
  2. POJ题目排序的Java程序
  3. Java ResourceBundle类的使用
  4. 图片javascript缩小
  5. Mybatis学习--Mapper.xml映射文件
  6. elasticsearch【更新】操作
  7. 20150618_Andriod _KSOAP2_多线程
  8. Oracle11g使用exp导出空表
  9. ios PromiseKit
  10. Hibernate学习笔记--环境搭建及运行
  11. 安装spark单机环境
  12. SpringMVC【开发Controller】详解
  13. VB.NET或C#报错:You must hava a license to use this ActiveX control.
  14. Redis-安装篇
  15. [HEOI2016/TJOI2016]排序
  16. 简单的TabLayout+Fragment选项卡
  17. [拍摄]『ROSE 拆解』SONY 摄像机镜头拆解。
  18. mac电脑使用,开发环境配置指南
  19. csv 文件读取(input)和截分(split)方法
  20. numpy得到数组的index

热门文章

  1. ubuntu配置phpmyadmin
  2. (app笔记)Memory Fill内存填充
  3. Centos 7 部署Kubernetes集群 (基于cri-dockerd)
  4. Vuex扫描自定义文件夹下的所有文件
  5. 【SSO单点系列】(9):CAS4.0 之客户端排除不需要过滤的路径
  6. flask-基础篇03 请求钩子与上下文
  7. Mac下Homebrew更新国内源brew update卡死(完美解决,网上都不完整)
  8. 使用EmguCV3.0.0调用摄像头并设置帧率
  9. java对excel的操作
  10. Nginx结合tomcat 负载均衡