博客
关于我
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/

你可能感兴趣的文章
秋月何时了,CSS3 border-radius知多少?
查看>>
linux运维中常用的命令
查看>>
M1芯片的macbook安装王者荣耀,原神,崩坏方法
查看>>
CentOS7更改成阿里云的源
查看>>
Java温故而知新-反射机制
查看>>
Netty3事件处理顺序问题
查看>>
eclipse引用sun.misc开头的类
查看>>
firefox中angular2嵌套发送请求问题
查看>>
Netty 知识整理 (2)HttpServerCodec和HttpObjectAggregator用法
查看>>
【Linux】service命令
查看>>
【mysql】事务隔离与mvcc的误区
查看>>
【mybatis3】调试/断点打印日志
查看>>
Leetcode 102题.从中序与后序遍历序列构造二叉树
查看>>
C++
查看>>
[CTFSHOW]PHP特性
查看>>
navigator对象
查看>>
程序员面试防坑宝典,带你手撸红黑树,一文轻松搞定
查看>>
关于EFI系统分区(ESP)你应该知道的3件事
查看>>
题目总结 web 51-100
查看>>
5.Mybatis复杂映射开发
查看>>