Postgresql数据库中的json类型字段使用示例详解
目录
- 1. Json概述
- 2. Postgresql数据库中使用Json类型字段
- 2.1. 创建表定义字段信息
- 2.2. 增加
- 2.3. 查询键值
- 2.3.1. 查询键
- 2.3.2. 查询值
- 2.3.3. where查询条件使用json键值作为条件
PostgreSQL 最重要的文档性数据类型就是JSON
了,与 MongoDB 的BSON
相比较,PostgreSQL 或许更加强大,因为它能与原有的关系性范式兼容,给数据库存储与维护带来了更多的可行性和便利性。
1. Json概述
JSON 代表 JavaScript Object Notation。JSON是开放的标准格式,由key-value对组成。JSON的主要用于在服务器与web应用之间传输数据。新建表如下:
2. Postgresql数据库中使用Json类型字段
2.1. 创建表定义字段信息
CREATE TABLE "test" ( "id" int8 , "info" json NOT NULL );
2.2. 增加
INSERT INTO "test"("id", "info") VALUES (1, '{"showcolor":"#C1E498"}'); INSERT INTO "test"("id", "info") VALUES (2, '{"showcolor":"#C1E497"}'); INSERT INTO "test"("id", "info") VALUES (3, '{"showcolor":"#C1E496"}');
2.3. 查询键值
2.3.1. 查询键
SELECT info -> 'showcolor' AS color FROM test;
2.3.2. 查询值
SELECT info ->> 'showcolor' AS color FROM test;
2.3.3. where查询条件使用json键值作为条件
SELECT info ->> 'showcolor' AS color FROM test WHERE info ->> 'showcolor' = '#C1E496'
到此这篇关于Postgresql数据库中的json类型字段使用的文章就介绍到这了,更多相关Postgresql json类型字段使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
PostgreSQL 更新JSON,JSONB字段的操作
直接使用 update 表名 set 列名 = (jsonb_set(列名::jsonb,'{key}','"value"'::jsonb)) where 条件 要注意里面的单引号和双引号. 补充:向PostgreSQL中json中加入某个字段 或者更新某个字段的SQL语句 需求:通过SQL的方式,对JSON里面的某个字段统一处理,更新成一个新值 1.向PostgreSQL中json中加入某个字段.例如:向users表中id为3的data列中加入 {"uptate_data&
-
利用Mybatis向PostgreSQL中插入并查询JSON字段
目录 应用场景介绍 数据insert 数据select BATCH 批量插入 前言: 这里我使用的是TimescaleDB,加了一个时间戳字段,不过没差.关于PostgreSQL中Json数据类型的操作,可以参考官网. 应用场景介绍 将TCP发过来的数据包(通过消息队列发过来)解析出数据(一个数据包含有多帧,一帧中含有多条信息),并和本地规则表的格式对应起来.以JsonLineMsg实体类代表对应的一帧数据: package tsdb.entity; import lombok.AllArgsC
-
postgresql 实现修改jsonb字段中的某一个值
我就废话不多说了,大家还是直接看代码吧~ UPDATE tablename SET tags = jsonb_set(tags-'landuse_area', '{landuse_area}',('"' || round((ST_Area(ST_Transform(geom,4527)) * 0.0015) :: NUMERIC,3) || '"')::jsonb, TRUE) WHERE tags @> '{"name":"张三"}';
-
Postgresql数据库中的json类型字段使用示例详解
目录 1. Json概述 2. Postgresql数据库中使用Json类型字段 2.1. 创建表定义字段信息 2.2. 增加 2.3. 查询键值 2.3.1. 查询键 2.3.2. 查询值 2.3.3. where查询条件使用json键值作为条件 PostgreSQL 最重要的文档性数据类型就是JSON了,与 MongoDB 的BSON相比较,PostgreSQL 或许更加强大,因为它能与原有的关系性范式兼容,给数据库存储与维护带来了更多的可行性和便利性. 1. Json概述 JSON 代表
-
C# 8.0中的范围类型(Range Type)示例详解
前言 C# 语言是在2000发布的,至今已正式发布了7个版本,每个版本都包含了许多令人兴奋的新特性和功能更新.同时,C# 每个版本的发布都与同时期的 Visual Studio 以及 .NET 运行时版本高度耦合,这也有助于开发者更好的学习掌握 C#,并将其与 Visual Studio 以及 .NET 的使用结合起来. C# 8.0中加入了一个新的范围类型(Range Type). 这里我们首先展示一些代码,并一步一步为代码添加一些不同的东西, 为大家展示一下范围类型的功能和用法. 我们最原始
-
Java实现读取项目中文件(.json或.properties)的方法详解
目录 1. 读取json file 1.1 Json dependency 1.2 字节流 1.3 buffer reader 2. 读取properties file 3. 好看的css样式 1. 读取json file 1.1 Json dependency <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>
-
python中前缀运算符 *和 **的用法示例详解
这篇主要探讨 ** 和 * 前缀运算符,**在变量之前使用的*and **运算符. 一个星(*):表示接收的参数作为元组来处理 两个星(**):表示接收的参数作为字典来处理 简单示例: >>> numbers = [2, 1, 3, 4, 7] >>> more_numbers = [*numbers, 11, 18] >>> print(*more_numbers, sep=', ') 2, 1, 3, 4, 7, 11, 18 用途: 使用 * 和
-
MySQL中使用去重distinct方法的示例详解
一 distinct 含义:distinct用来查询不重复记录的条数,即distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而无法返回其他字段 用法注意: 1.distinct[查询字段],必须放在要查询字段的开头,即放在第一个参数: 2.只能在SELECT 语句中使用,不能在 INSERT, DELETE, UPDATE 中使用: 3.DISTINCT 表示对后面的所有参数的拼接取 不重复的记录,即查出的参数拼接每行记录
-
python编程中简洁优雅的推导式示例详解
目录 1. 列表推导式 增加条件语句 多重循环 更多用法 2. 字典推导式 3. 集合推导式 4. 元组推导式 Python语言有一种独特的推导式语法,相当于语法糖的存在,可以帮助你在某些场合写出较为精简酷炫的代码.但没有它,也不会有太多影响.Python语言有几种不同类型的推导式. 1. 列表推导式 列表推导式是一种快速生成列表的方式.其形式是用方括号括起来的一段语句,如下例子所示: lis = [x * x for x in range(1, 10)] print(lis) 输出 [1, 4
-
利用Python中xlwt模块操作excel的示例详解
目录 一.安装 二.创建表格并写入 三.设置单元格样式 四.设置单元格宽度 五.设置单元格背景色 六.设置单元格内容对齐方式 七.单元格添加超链接 八.单元格添加公式 九.单元格中输入日期 十.合并行和列 十一.单元格添加边框 一.安装 pip install xlwt 二.创建表格并写入 import xlwt # 创建一个workbook并设置编码 workbook = xlwt.Workbook(encoding = 'utf-8') # 添加sheet worksheet = workb
-
Vue3中Vuex状态管理学习实战示例详解
目录 引言 一.目录结构 二.版本依赖 三.配置Vuex 四.使用Vuex 引言 Vuex 是 Vue 全家桶重要组成之一,专为 Vue.js 应用程序开发的 状态管理模式 + 库 ,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 一.目录结构 demo/ package.json vite.config.js index.html public/ src/ api/ assets/ common/ components/ store/ index.
-
TS 类型兼容教程示例详解
目录 类型兼容 简单类型兼容 普通对象兼容 函数兼容 参数数量不一致 参数类型不一致 返回不同 类型兼容 因为JS语言不慎过于领过, 真实开发场景中往往无法做到严格一致的类型约束,此时TS就不得不做类型兼容 顶类型:unknown -- 任何类型都可以赋值给unknown 底类型:never -- never兼容任何类型(可以赋值给任何类型) any: 其实不是一个类型,它是一个错误关闭器,用了any就等同于放弃了类型约束 简单类型兼容 子集可以赋值给父级 type name = string
-
Pandas中的 transform()结合 groupby()用法示例详解
首先,假设我们有如下餐厅数据集: import pandas as pd df = pd.DataFrame({ 'restaurant_id': [101,102,103,104,105,106,107], 'address': ['A','B','C','D', 'E', 'F', 'G'], 'city': ['London','London','London','Oxford','Oxford', 'Durham', 'Durham'], 'sales': [10,500,48,12,2
随机推荐
- golang如何利用原始套接字构造UDP包详解
- Ubuntu16.04手动安装MongoDB的详细教程
- ECMAscript 变量作用域总结概括
- zabbix v3.0安装部署全过程详解
- Kotlin基本类型自动装箱出现问题解决办法
- asp.net中获取新增加记录的ID Access版
- sysbench-0.4.12编译安装和CPU测试例子分享
- PHP开发中常用的三个表单验证函数使用小结
- 基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
- Jquery作者John Resig自己封装的javascript 常用函数
- CentOS下安装MySQL5.6.10和安全配置教程详解
- JS值当前DIV的ID值的代码
- Linux新技术对象存储文件系统
- Windows2003 建立WEB服务器的图文教程
- 判断机器大小端的两种实现方法
- Android 自定义View步骤
- C# 透明窗体制作实现方法比较分析
- C#委托与事件初探
- spring-cloud入门之eureka-client(服务注册)
- numpy.meshgrid()理解(小结)