当前位置: 首页 > news >正文

中英文网站系统网站客户问题解答

中英文网站系统,网站客户问题解答,礼叮当 一家做创意礼品定制的网站,软件后端开发PostgreSQL 提供了强大的 JSON 和 JSONB 数据类型及相关操作,适用于存储和查询半结构化数据。本文将详细介绍其常用操作。 1. 基础操作 1.1 JSON 属性访问 ->: 返回 JSON 对象中的值,结果为 JSON 格式。 SELECT {"a": {"b": 1…

PostgreSQL 提供了强大的 JSONJSONB 数据类型及相关操作,适用于存储和查询半结构化数据。本文将详细介绍其常用操作。


1. 基础操作

1.1 JSON 属性访问

  • ->: 返回 JSON 对象中的值,结果为 JSON 格式。
SELECT '{"a": {"b": 1}}'::jsonb -> 'a';
-- 返回:{"b": 1}
  • ->>: 返回 JSON 对象中的值,结果为文本。
SELECT '{"a": {"b": 1}}'::jsonb -> 'a' ->> 'b';
-- 返回:"1" (文本)

1.2 JSON 数组访问

  • 索引访问数组元素
SELECT '[1, 2, 3]'::jsonb -> 1;
-- 返回:2 (JSON 格式)
  • 获取数组中某元素的文本
SELECT '[1, 2, 3]'::jsonb ->> 1;
-- 返回:"2" (文本)

2. 高级操作

2.1 查询嵌套 JSON 的值

  • 使用 #> 获取嵌套对象:
SELECT '{"a": {"b": {"c": 3}}}'::jsonb #> '{a,b}';
-- 返回:{"c": 3}
  • 使用 #>> 获取嵌套对象的文本值:
SELECT '{"a": {"b": {"c": 3}}}'::jsonb #>> '{a,b,c}';
-- 返回:"3" (文本)

2.2 条件查询

通过字段筛选数据
SELECT *
FROM example_table
WHERE jsonb_column ->> 'key' = 'value';
判断是否包含特定键值对
SELECT *
FROM example_table
WHERE jsonb_column @> '{"key": "value"}';
判断是否包含特定键
SELECT *
FROM example_table
WHERE jsonb_column ? 'key';
判断是否包含多个键
  • 任意一个键
SELECT *
FROM example_table
WHERE jsonb_column ?| array['key1', 'key2'];
  • 所有键
SELECT *
FROM example_table
WHERE jsonb_column ?& array['key1', 'key2'];

2.3 数组操作

判断数组是否包含元素
SELECT *
FROM example_table
WHERE jsonb_column @> '[1, 2]'; -- JSON 数组包含 [1, 2]
判断数组是否重叠
SELECT *
FROM example_table
WHERE jsonb_column ?| array['key1', 'key2'];

3. 修改 JSON 数据

3.1 添加键值

UPDATE example_table
SET jsonb_column = jsonb_column || '{"new_key": "new_value"}';

3.2 删除键

  • 删除单个键
UPDATE example_table
SET jsonb_column = jsonb_column - 'key_to_remove';
  • 删除多个键
UPDATE example_table
SET jsonb_column = jsonb_column - '{key1, key2}';

3.3 替换嵌套值

  • 使用 jsonb_set 替换嵌套值:
UPDATE example_table
SET jsonb_column = jsonb_set(jsonb_column, '{nested,key}', '"new_value"');

4. 聚合操作

4.1 提取 JSON 中的字段值

SELECT jsonb_column ->> 'key', COUNT(*)
FROM example_table
GROUP BY jsonb_column ->> 'key';

4.2 将多个 JSON 合并

SELECT jsonb_agg(jsonb_column)
FROM example_table;

4.3 展开 JSON 数组

SELECT jsonb_array_elements(jsonb_column)
FROM example_table;

5. 索引优化

5.1 创建 JSONB 索引

创建 GIN 索引
CREATE INDEX idx_jsonb_column ON example_table USING gin (jsonb_column);
使用 JSONB 索引进行快速查询
SELECT *
FROM example_table
WHERE jsonb_column @> '{"key": "value"}';
创建键路径索引
CREATE INDEX idx_jsonb_key ON example_table USING gin ((jsonb_column -> 'key'));

PostgreSQL 的 JSONB 查询功能强大且灵活,适合各种复杂的数据处理场景。结合索引优化,性能可以进一步提升。


📌 开发者必备工具: 在 Tool.tushuoit.com 发现免费在线工具集!推荐 App Store 截图生成器、应用图标生成器 和 Chrome插件-强制开启复制-护眼模式-网页乱码设置编码,让您的开发和运营工作更轻松高效。

http://www.yayakq.cn/news/889702/

相关文章:

  • 企业标准建站ui网页设计介绍
  • 网站如何连接微信支付宝吗企业邮箱163登录入口
  • 做网站要买多少服务器空间丰台体育馆网站建设
  • 做网站大概一个月多少工资自己做单词卡的网站是什么
  • 江阴公司网站建设台州网站建设外包
  • 做公众号和网站一样吗计算机语言python
  • 英国人买服务器网站如何备份wordpress数据库
  • 陕西交通建设有限公司网站如何查网站的icp备案
  • 网站建设适合手机seo站长工具查询
  • 北京市教学名师奖建设项目网站网站首页模板图片
  • 做阀门网站电话号码牛商网做的包装盒网站
  • 企业微商城网站建设网站不备案能解析吗
  • 北京上海网站建设wordpress 网站维护
  • 郑州网站开发便宜免费网站推广怎么做
  • 营销型网站建设方案演讲ppt百度问答
  • 如何发布一个网站连云港企业做网站
  • 长春公司网站推广北京建设网站活动图片
  • 8网站建设做网站为代理网站做网站
  • 优创智汇高端网站建设网站后台上传软件
  • 重庆网站推广营销价格如何在云服务器上搭建网站
  • 网站建设套模网站在手机上内页图不显示
  • 怎么建设一个购物网站怎么查一个网站有没有做301
  • 青海省建设厅网站地址单位网站的建设
  • 网站建设 实例2015做那个网站致富
  • 有动效网站茂名公司制作网站
  • 好用的wordpress模板株洲seo优化首选
  • seo宣传网站网站安全怎么做
  • 中小型网站建设报价表情包制作app
  • 电子商务网站建设类型wordpress404文件不存在
  • 网站制作费计入哪个科目中贤建设集团网站