博客
关于我
hstore键值存储
阅读量:378 次
发布时间:2019-03-05

本文共 1184 字,大约阅读时间需要 3 分钟。

PostgreSQL中的键值存储——hstore详解

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

在PostgreSQL中,hstore提供了一种键值存储的扩展功能,需要通过CREATE EXTENSION hstore来安装。hstore主要用于存储文本类型的数据,数值类型的数据会被自动转换为文本形式存储。

hstore的键值对存储方式为零个或多个由逗号分隔的“键=>值”对,例如:k => v。需要注意的是,键值对的顺序无关紧要,空格、逗号、等号以及>符号两侧的空格都会被忽略。因此,在键或值中包含空格、逗号、等号或>符号时,必须使用双引号包围这些部分。如果包含双引号或反斜线,需要使用反斜线转义(例如,"变成\ "">变成\\")。

hstore中每个键必须是唯一的。如果尝试存储重复的键,只有一个会被保留,具体保留哪一个则无法保证。此外,hstore支持存储NULL值,例如:k => NULL。需要注意的是,键不能为NULL。如果使用双引号包围NULL(例如:"NULL"),则会被视为普通字符串。

hstore操作符

hstore提供了丰富的操作符来操作键值存储,以下是常见操作符的说明和示例:

操作符 描述 示例
hstore -> text 获取指定键的值(若键不存在则返回NULL) 如图1所示
hstore -> text[] 获取多个指定键的值(若键不存在则返回NULL) 如图2所示
hstore || hstore 将多个hstore值连接起来 如图3所示
hstore ?> text 检查hstore中是否包含指定键 如图4所示
hstore ?> text[] 检查hstore中是否包含所有指定键 如图5所示
hstore ?> text[] 检查hstore中是否包含任一指定键 如图6所示
hstore <@ hstore 检查左边hstore是否包含于右边hstore 如图8所示
hstore -> text 从左边操作数中删除指定键 如图9所示
hstore -> text[] 从左边操作数中删除多个指定键 如图10所示
hstore -> hstore 从左边操作数中删除匹配右边hstore的键值对 如图11所示
%% hstore 将hstore转换为键值交替出现的数组 如图12所示
%# hstore 将hstore转换为二维键值数组 如图13所示

通过以上操作符,可以对hstore进行 CRUD(创建、读取、更新、删除)操作,并对hstore数据进行复杂的查询和过滤。这些操作符为开发者提供了强大的工具来管理和处理键值存储数据。

希望以上内容对您理解和使用PostgreSQL中的hstore功能有所帮助。如果有任何问题或需要进一步的解释,请随时联系瀚高PG实验室(Highgo PG Lab)。

转载地址:http://xtowz.baihongyu.com/

你可能感兴趣的文章
04 程序流程控制
查看>>
java并发编程(1)
查看>>
C++&&STL
查看>>
分组背包问题
查看>>
子集(LeetCode 78)
查看>>
1004 Counting Leaves (30分)
查看>>
1093 Count PAT‘s (25分) 含DP做法
查看>>
一篇解决JMM与volatile详解(二)
查看>>
数据结构之数组与经典面试题(二)
查看>>
无锁并发框架-Disruptor的使用(二)
查看>>
Android wm命令
查看>>
boot.img 解包与打包
查看>>
Android4.4 平板背光设置
查看>>
spring boot@Value和bean执行顺序问题
查看>>
codeforces The Eternal Immortality 题解
查看>>
蓝桥杯 历届试题 幸运数 (堆+DFS)
查看>>
(SDUT 2159)山东省第一届ACM省赛 Ivan comes again! (set集合综合运用)
查看>>
微信js-sdk使用简述(分享,扫码功能等)
查看>>
selenium 的介绍和爬取 jd数据
查看>>
【分享-一键在线抠图】在线免费去除图片背景
查看>>