原文转载于:http://blog.csdn.net/huangwenyi1010/article/details/51224886
提出问题
PostgreSQL的Json类型如何使用???
解决问题
准备数据
创建表:
create table ay_json_test(
id varchar primary key,
name varchar,
json_value json
)
插入数据:
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' = '阿毅'
结果
![这里写图片描述](https://img-blog.csdn.net/20160423101253553)
例二:
select id,name,json_value->>'ay_name' as ayName,json_value ->> 'objects' as objects from ay_json_test
where json_value ->>'ay_name' = '阿毅'
结果:
![这里写图片描述](https://img-blog.csdn.net/20160423101550510)
例三:数组元素选择
select json_value -> 'values'#>>'{data,0}' as objects from ay_json_test
where json_value ->>'ay_name' = '阿毅'
![这里写图片描述](https://img-blog.csdn.net/20160423102141315)
例四:更新数据
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
结果:
![这里写图片描述](https://img-blog.csdn.net/20160423102804151)
例五:删除数据
delete from ay_json_test where json_value ->> 'ay_name' = '阿毅_change'
结果,数据库已经没有数据了。
![这里写图片描述](https://img-blog.csdn.net/20160423103341987)
读书感悟
来自《超级读心术》
- 当人处于兴奋状态的时候,他的瞳孔会自然而然地放大;而处在消极、戒备状态时,瞳孔则会缩小。这些变化不是人的意识所能控制的,深谙此道的人在某些场合总是戴着有色眼镜,为的就是掩饰自己瞳孔的真实变化。
- 面部表情是人内心的晴雨表,而且这个晴雨表无国界,在人类当中是通用的,也正是因为这样,人们接触社会时最早学会的大概就是控制自己的表情了
- 看一个人怎样,就看他身边的人怎样