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 )
1234512345
插入数据:
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" } }');
123456789101112131415161718123456789101112131415161718
例一:选择数据
select id,name,json_value->>'ay_name' as ayName from ay_json_test where json_value ->>'ay_name' = '阿毅'
11
结果
例二:
select id,name,json_value->>'ay_name' as ayName,json_value ->> 'objects' as objects from ay_json_test where json_value ->>'ay_name' = '阿毅'
1212
结果:
例三:数组元素选择
select json_value -> 'values'#>>'{data,0}' as objects from ay_json_test where json_value ->>'ay_name' = '阿毅'
1212
例四:更新数据
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' = '阿毅'
1234567891011121314151617181912345678910111213141516171819
结果:
例五:删除数据
delete from ay_json_test where json_value ->> 'ay_name' = '阿毅_change'
11
结果,数据库已经没有数据了。
读书感悟
来自《超级读心术》
- 当人处于兴奋状态的时候,他的瞳孔会自然而然地放大;而处在消极、戒备状态时,瞳孔则会缩小。这些变化不是人的意识所能控制的,深谙此道的人在某些场合总是戴着有色眼镜,为的就是掩饰自己瞳孔的真实变化。
- 面部表情是人内心的晴雨表,而且这个晴雨表无国界,在人类当中是通用的,也正是因为这样,人们接触社会时最早学会的大概就是控制自己的表情了
- 看一个人怎样,就看他身边的人怎样