数据库中查询json 样式的值的sql语句
参考:http://www.lnmp.cn/mysql-57-new-features-json.html
方式一: 可以查到json中的Key:value
SELECT * FROM EDI.edi_history WHERE JSON_CONTAINS(response_summary, json_array(json_object("orderNo","")))
and JSON_CONTAINS(response_summary, json_array(json_object("courierCompanyCode","Air21"))) and JSON_CONTAINS(response_summary, json_array(json_object("dataSource", "EDI_AFTERSHIP"))) and JSON_CONTAINS(response_summary, json_array(json_object("courierBillNo","")))
方式2: 仅仅通过包含:
select * from EDI.edi_history where json_contains(response_summary, '{"dest_stn":"PRQ"}')
只更新部分值:
UPDATE EDI.edi_history SET response_summary = JSON_REPLACE(response_summary, '$.result', 'php') WHERE id = ;
创建表
CREATE
TABLE
t_json(id
INT
PRIMARY
KEY
,
NAME
VARCHAR
(20) , info JSON);
插入记录
INSERT
INTO
t_json(id,sname,info)
VALUES
(1 ,
'test'
,
'{"time":"2017-01-01 13:00:00","ip":"192.168.1.1","result":"fail"}'
);
INSERT
INTO
t_json(id,sname,info)
VALUES
(2 ,
'my'
,JSON_OBJECT(
"time"
,NOW(),
'ip'
,
'192.168.1.1'
,
'result'
,
'fail'
));
查询IP键
SELECT
sname,JSON_EXTRACT(info,
'$.ip'
)
FROM
t_json;
查询有多少个键
SELECT
id,json_keys(info)
AS
"keys"
FROM
t_json;
删除键
UPDATE
t_json
SET
info = json_remove(info,
'$.ip'
);
增加键
UPDATE
t_json
SET
info = json_set(info,
'$.ip'
,
'192.168.1.1'
);
变更值
UPDATE
t_json
SET
info = json_set(info,
'$.ip'
,
'192.168.1.2'
);
数据库中查询json 样式的值的sql语句的更多相关文章
- Mysql 数据库中所有列名为某个值的 sql 语句
SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('columnname') AND T ...
- 不同数据库,查询前n条数据的SQL语句
不同的数据库,支持的SQL语法略有不同,以下是不同数据库查询前n条数据的SQl语句 SQL Server(MSSQL) SELECT TOP n * FROM table_name ORACLE SE ...
- 统计一个数据库中,无记录的表的sql语句
SQL Server数据库中统计无记录数的表 大家使用的时候,将sql脚本中的红色[TestDB] 换成你的目标数据库名称. /************************************ ...
- mysql数据库中查看某个视图的定义的SQL语句
环境描述: mysql版本:5.5.57-log 操作系统版本:Red Hat Enterprise Linux Server release 6.6 (Santiago) 需求描述: 查看某个视图的 ...
- ***mysql中查询今天、昨天、上个月sql语句
今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天Select * FROM 表名 Where TO_DAYS( NOW( ) ...
- EFCore使用JSON_VALUE查询json对象的值
EFCore使用JSON_VALUE查询json对象的值 Intro SqlServer 从2016开始支持 JSON 操作,可以使用 JSON_VALUE 查询 JSON 对象的某个属性值,更多介绍 ...
- 从Oracle数据库中查询前几个月数据时需要注意的一些问题
在最近的一个项目中,有一个需求就是要查询数据库中前几个月的历史数据,但是由于自己考虑不全面造成了程序的bug,现在将这一块好好作一个总结,希望以后不再犯这种很低级的错误,首先贴出查询中用到的一个子函数 ...
- MongoDB数据库中查询数据(下)
MongoDB数据库中查询数据(下) 在find中,options参数值为一个对象,用来设置查询数据时使用的选项,下面我们来对该参数值对象中可以使用的属性进行介绍: 1. fields; 该属性值为一 ...
- 在MongoDB数据库中查询数据(上)
在MongoDB数据库中查询数据(上) 在MongoDB数据库中,可以使用Collection对象的find方法从一个集合中查询多个数据文档,find方法使用方法如下所示: collection.fi ...
随机推荐
- CTF中图片隐藏文件分离方法
CTF中图片隐藏文件分离方法 0x01 分析 这里我们以图片为载体,给了这样的一样图片:2.jpg 首先我们需要对图片进行分析,这里我们需要用到kali里面的一个工具 binwalk ,想要了解这 ...
- 《DSP using MATLAB》Problem 3.10
用到了三角窗脉冲序列,各小题的DTFT就不写公式了,直接画图(这里只贴长度M=10的情况). 1. 代码: %% ------------------------------------------- ...
- 手把手图文教你eclipse下如何配置tomcat
很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,笔者通过图文解说的方法,最直观的向大家演示一遍该配置过程,希望对大家有所帮助. 注:本文是建 ...
- oracle 拆分字符串并转换为表
使用函数的方式 1. 创建的函数以及类型如下: CREATE OR REPLACE TYPE str_split IS TABLE OF VARCHAR2 (4000);CREATE OR REPLA ...
- oracle C# 访问
使用oracle的odp.net 进行oracle数据库的访问对于进行oracle数据库的开发来说是比较方便的,使用的方式与ADO.net 是一致的. 一下为使用的测试 1. 安装必要的oracle ...
- Windows 上 Nginx 路径的陷阱
第一次用 Nginx 配置 Vhosts. 使用了 Windows 路径 C:\ww\fa\public,没有问题. 我以为 Nginx 的高级特性. 后来要建了一个 Vhosts,发现死活进不了. ...
- golang中如何判断文件是否有可执行权限
本文介绍在Go语言如何检查文件的权限.以检查文件可执行权限为例. 在文件系统中,文件的属性使用uint32表示. 例如 -rwxrwxrwx 判断可执行权限,也就是检查文件mode是否有: --x-- ...
- IplImage的数据结构以及遍历方法
一般我们需要对图像直接进行操作的时候,需要知道图像存储的数据结构,这要也就知道了它的遍历方式 在opencv2.4.4版本下,IplImage的数据结构如下(貌似在别的版本下差别也不会太大) 其中比较 ...
- java Collections工具类
Collections 是专门对集合进行操作的类 比如排序sort 也可以使用自定义的比较器 sort文档中的定义 必须具有比较性,具有比较性必须是comparable 的子类 '<T ext ...
- java web中获取各种路径
一.获取项目路径: 1) String path = request.getContextPath() :// /TestMyEclipseString basePath = request.getS ...