PostgreSQL之Json类型使用

原文转载于:http://blog.csdn.net/huangwenyi1010/article/details/51224886

提出问题

PostgreSQL的Json类型如何使用???

解决问题

准备数据

创建表:

create table ay_json_test(
    id varchar primary key,
    name varchar,
    json_value json
)
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

插入数据:

insert into ay_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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

例一:选择数据

select id,name,json_value->>'ay_name' as ayName from ay_json_test where json_value ->>'ay_name' = '阿毅'
 
 
  • 1
  • 1

结果 
这里写图片描述

例二:

select id,name,json_value->>'ay_name' as ayName,json_value ->> 'objects' as objects from ay_json_test 
where json_value ->>'ay_name' = '阿毅'
 
 
  • 1
  • 2
  • 1
  • 2

结果: 
这里写图片描述

例三:数组元素选择

select json_value -> 'values'#>>'{data,0}' as objects from ay_json_test 
where json_value ->>'ay_name' = '阿毅'
 
 
  • 1
  • 2
  • 1
  • 2

这里写图片描述

例四:更新数据

update ay_json_test set json_value = '{  
  "ay_name":"阿毅_change",
  "home":{
      "type":{"interval_change":
          "5m"
      },
      "love":"now_change",
      "you":"None_change"
  },
  "values":{
      "event":["cpu_r_change","cpu_w_change"],
      "data":["cpu_r_change"],
      "array":[999,5]
  },
  "objects":{
      "al":"beauty"
  } 
}'
where json_value ->> 'ay_name' = '阿毅'
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

结果: 
这里写图片描述

例五:删除数据

delete from ay_json_test where json_value ->> 'ay_name' = '阿毅_change'
 
 
  • 1
  • 1

结果,数据库已经没有数据了。 
这里写图片描述

读书感悟

来自《超级读心术》 
- 当人处于兴奋状态的时候,他的瞳孔会自然而然地放大;而处在消极、戒备状态时,瞳孔则会缩小。这些变化不是人的意识所能控制的,深谙此道的人在某些场合总是戴着有色眼镜,为的就是掩饰自己瞳孔的真实变化。 
- 面部表情是人内心的晴雨表,而且这个晴雨表无国界,在人类当中是通用的,也正是因为这样,人们接触社会时最早学会的大概就是控制自己的表情了 
- 看一个人怎样,就看他身边的人怎样

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值