加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_安阳站长网 (https://www.0518zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

PostgreSQL何以支持丰富的NoSQL特性?

发布时间:2018-10-11 11:11:43 所属栏目:站长百科 来源:DBAplus社群
导读:副标题#e# 【新品产上线啦】51CTO播客,随时随地,碎片化学习 作者介绍 谭峰,网名francs,中国开源软件推进联盟PostgreSQL分会特聘专家,《PostgreSQL实战》作者之一,《PostgreSQL 9 Administration Cookbook》译者之一。现就职于浙江移动负责应用上云架

扩展最外层的json对象成为一组键/值结果集,如下所示:

  1. mydb=> SELECT * FROM json_each('{"a":"foo", "b":"bar"}');  
  2. key | value  
  3. -----+-------  
  4. a | "foo"  
  5. b | "bar"  
  6. (2 rows) 

以文本形式返回结果,如下所示:

  1. mydb=> SELECT * FROM json_each_text('{"a":"foo", "b":"bar"}');  
  2. a | foo  
  3. b | bar  
  4. (2 rows) 

一个非常重要的函数为row_to_json函数,能够将行作为json对象返回,此函数常用来生成json测试数据,比如将一个普通表转换成json类型表:

  1. mydb=> SELECT * FROM test_copy WHERE id=1;  
  2. id | name  
  3. ----+------  
  4. 1 | a  
  5. (1 row)  
  6. mydb=> SELECT row_to_json(test_copy) FROM test_copy WHERE id=1;  
  7. row_to_json  
  8. ---------------------  
  9. {"id":1,"name":"a"}  
  10. (1 row) 

返回最外层的json对像中的键的集合,如下所示:

  1. mydb=> SELECT * FROM json_object_keys('{"a":"foo", "b":"bar"}');  
  2. json_object_keys  
  3. ------------------  
  4. a  
  5. b  
  6. (2 rows) 

6、jsonb键/值的追加、删除、更新

(编辑:网站开发网_安阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!