postgresql json数据操作

pg支持json数据操作,2种类型json jsonb

postgresql json jsonb 2种数据类型区别 中文解释

PostgreSQL提供了两种数据类型来存储JSON数据:JSONJSONB。下面是它们之间的区别:

  1. JSON:JSON数据类型在PostgreSQL中将JSON数据按原样存储,不进行额外的处理。它会验证JSON语法,但不强制执行任何结构或索引。JSON数据以二进制格式存储,相比纯文本存储更紧凑。然而,对JSON数据的查询和索引操作可能比JSONB数据类型慢。

  2. JSONB:JSONB数据类型代表"JSON二进制"。它以二进制格式存储JSON数据,但在存储过程中还会对数据进行额外的处理。当你将JSON数据插入到JSONB列中时,PostgreSQL会解析并重新编写JSON文档,创建一个优化的二进制表示。这种二进制格式允许对JSON数据进行高效的索引和查询。JSONB列支持PostgreSQL中的所有索引技术,如B树、哈希索引和广义反向索引(GIN)。

简而言之,在PostgreSQL中,JSONJSONB的主要区别是JSON按原样存储JSON数据而不进行额外处理,而JSONB在存储过程中对数据进行额外处理以创建优化的二进制表示。这使得JSONB更适合对JSON数据进行高效的查询和索引。然而,如果您不需要高级查询功能或索引,并且希望将JSON数据存储为纯文本,您可以使用JSON数据类型。

常见SQL操作

SELECT  id,data->>'Code',data->>'state' FROM tbl_license_json;


SELECT jsonb_object_keys(data) AS field
FROM tbl_ship_json where id = 4250;

SELECT jsonb_each_text(data) AS data_value
FROM tbl_area_json;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值