PostgreSQL之Json类型使用

来源:互联网 发布:淘宝天下小二怎么联系 编辑:程序博客网 时间:2024/05/18 00:37

原文转载于: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 0
原创粉丝点击