PostgreSQL数据类型之json数据类型

PostgreSQL数据类型之json数据类型
从PostgreSQL 9.3版本开始,JSON已经成为内置数据类型
postgresql支持两种json数据类型:json和jsonb
(1)JSON类型把输入的数据原封不动的存放到数据库中。JSONB类型在存放时把JSON解析成二进制格式。
(2)JSONB支持在其上建索引,而JSON不能,这是JSONB的一个很大的优点。
(3)json是对输入的完整拷贝,使用时再去解析,所以它会保留输入的空格,重复键以及顺序等。而jsonb是解析输入后保存的二进制,它在解析时会删除不必要的空格和重复的键,顺序和输入可能也不相同。使用时不用再次解析。两者对重复键的处理都是保留最后一个键值对。效率的差别:json类型存储快,使用慢,jsonb类型存储稍慢,使用较快。

json操作符

json操作符

新建有json字段的表

create table json_test(
id varchar primary key,
name varchar,
json_value json
)
insert into json_test values(‘001’,‘ay’,’{
“ay_name”:“哈哈”,
“home”:{
“type”:{“interval”:
“5m”
},
“love”:“now”,
“you”:“None”
},
“values”:{
“event”:[“cpu_r”,“cpu_w”],
“data”:[“cpu_r”],
“threshold”:[1,1]
},
“objects”:{
“al”:“beauty”
}
}’);
1.查询第一层
select json_value ->‘home’ as type_name from test_auto_test_case.json_test
在这里插入图片描述

2.查询第二、三层
select json_value ->‘home’->‘have’ as type_name from test_auto_test_case.json_test
在这里插入图片描述
3.查询数组
select json_value ->‘values’->‘event’->1 as type_name from test_auto_test_case.json_tes

在这里插入图片描述
4.#>路劲查询
select json_value #>’{home,type,interval}’ as type_name from test_auto_test_case.json_testt
在这里插入图片描述
5.->和->>区别
select json_value ->‘home’->‘have’ as type_name from test_auto_test_case.json_test
select json_value ->‘home’->>‘have’ as type_name from test_auto_test_case.json_test
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值