hstore键值存储

作者:瀚高PG实验室 (Highgo PG Lab)

PostgreSQL中可用的键值存储是hstore。

hstore的键值存储是一个扩展程序,必须用CREATE EXTENSION hstore来安装。

hstore只用来存储文本。如果存储数值,这些值将被存储为文本。

用于输入和输出的hstore文本表示方式包括零个或多个以逗号隔开的 “key => value” 对。例如 k => v 。这些键值对的顺序没有影响,各个键值对之间和“=>”符号两侧的空格会被忽略,所以当键或值中包含空格、逗号、=s或>s时需要加双引号。当包含双引号或者反斜线时,使用一个反斜线转义。

一个hstore中每个键是唯一的,如果声明了有重复键的hstore,只有一个会被存储到hstore中,而且不会保证哪一个被保留。

键值对中的值可以是NULL,例如 k=>NULL,但是键不能为NULL。如果NULL加上双引号,就会被认为是一个普通的字符串。

hstore操作符

操作符描述例子
hstore ->text取得键的值(如果不存在就为NULL)图1
hstore ->text[]取得多个键的值(如果不存在就为NULL)图2
hstore ||hstore连接多个hstore图3
hstore ?texthstore是否包含键图4
hstore ?&text[]hstore是否包含所有的指定键图5
hstore ?|text[]hstore是否包含任一指定键图6
hstore @>hstore左操作数是否包含右操作数图7
hstore <@hstore左操作数是否包含于右操作数图8
hstore -text从左操作数中删除键图9
hstore -text[]从左操作数中删除多个键图10
hstore -hstore从左操作数中删除匹配的对图11
%% hstore将hstore转换成交替出现键和值的数组图12
%# hstore将hstore转换成二维的键值数组图13

图1

图2

图3

图4

图5

图6

图7

图8

图9

图10

图11

图12

图13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值