postgresql 中的 jsonb-ag捕鱼王app官网

当前位置:ag捕鱼王app官网 > > 数据库 > postgresql >

postgresql 中的 jsonb

作者:迹忆客 最近更新:2023/03/20 浏览次数:

jsonb 是一种以分解的二进制格式存储的 json 数据。如果你关注 google 趋势或进行一些研究,你会发现 json 在开发领域变得越来越流行。

如今,nosql 默认可以存储 json 数据。因为它使用起来很健壮,我们可以将嵌套对象放在另一个对象中;因此它变得越来越流行。

postgres 允许用户在 sql 类型数据库中创建 json 和 jsonb 数据类型。

在 postgresql 中使用 jsonb 创建表

假设我们要为产品创建一个表。可以有各种类型的产品。

例如,其中一些可以以升为单位,一些以克为单位,或者一些以件为单位。此外,特定产品的某些类型的数据可能与其他产品不同。

在这种情况下,最好使用 json 或 jsonb 来存储这些不熟悉的数据。下面给出了创建具有 jsonb 类型数据的表:

createtableproducts(idserialprimarykey,sellertextnotnull,datajsonbnotnull);

在 postgresql 中插入 jsonb 数据类型

之前,我们创建的表包含一个具有 jsonb 类型数据的列。现在,让我们填充表格。

众所周知,jsonb 以 key-value 格式存储数据,与 python 中的字典相同。让我们用一些数据填充上表。

insertintoproducts(seller,data)values('jones heard','{ "name": "milk shake",
"price": "10$",
"ingredients":
    { "milk":
        { "amount":"250ml","calorie":"100 kcl"},
    "coco powder":
        { "amount":"50 gram", "calorie":"100 kcl"}
    }
}');

由于我们成功地将 jsonb 数据插入到表中,是时候查看添加的数据了。从上面的 json 中,我们可以注意到我们有嵌套的对象。

在键 data 中,我们有 namepriceingredient。在成分中,我们有成分及其数量和卡路里值。

所以,它是一个嵌套对象。这里的动机是我们不需要复杂的连接来获得这样的嵌套输出。

selectid,seller,jsonb_pretty(data)asproduct_detailsfromproducts;

输出:

 id |   seller    |         product_details
---- ------------- ----------------------------------
  1 | jones heard | {                                
    |             |     "name": "milk shake",        
    |             |     "price": "10$",              
    |             |     "ingredients": {             
    |             |         "milk": {                
    |             |             "amount": "250ml",   
    |             |             "calorie": "100 kcl" 
    |             |         },                       
    |             |         "coco powder": {         
    |             |             "amount": "50 gram", 
    |             |             "calorie": "100 kcl" 
    |             |         }                        
    |             |     }                            
    |             | }
(1 row)

在命令中,我们使用了 jsonb_pretty() 函数。它使用必要的缩进格式化 json 对象。

否则整个 json 会出现在一行中,很难理解对象之间的关系。

postgresql 中 jsonb 的优缺点

虽然 postgres 中有 json 类型,但他们也引入了 jsonb 格式。正如我们所见,声明和其他查询与 json 非常相似。

以下是在 json 上使用 jsonb 的一些好处:

  1. 比 json 效率更高。
  2. 它允许更快的处理,因为它是分解的二进制文件。
  3. 支持索引,json 不支持。

此外,它也有一些缺点。以下是:

  1. 较慢的输入。
  2. 它比 json 占用更多的磁盘空间,因为它留下了更多的足迹。
  3. 在某些情况下,聚合函数会减慢进程。

上一篇:在 postgresql 中转义单引号

下一篇:

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

发布时间:2023/03/20 浏览次数:185 分类:postgresql

本文介绍如何在 ubuntu 上找到 postgresql 数据库的配置文件。

发布时间:2023/03/20 浏览次数:409 分类:数据库

本文解释了如何直接从终端/命令行或 psql shell 运行 sql 文件。为此,你需要指定主机名、端口、用户名和数据库名称。

发布时间:2023/03/20 浏览次数:89 分类:postgresql

本文展示了如何列出 postgresql 上的活动连接。

发布时间:2023/03/20 浏览次数:966 分类:postgresql

在 pl/sql 中,你可能需要在 postgres 中使用循环。我们可以使用 for 和 while 语句来创建循环。

发布时间:2023/03/20 浏览次数:141 分类:postgresql

本文介绍如何在 postgresql 中仅使用单个查询来重命名列以及更改其类型。

发布时间:2023/03/20 浏览次数:233 分类:postgresql

本文介绍如何在 postgresql 中使用 select 方法连接列。

发布时间:2023/03/20 浏览次数:281 分类:postgresql

本文展示了如何使用 case 语句并给出了 postgresql 中的示例。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图