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

pgsql 特有字段记录

  1. 建表语句

CREATE TABLE test_table (id SERIAL PRIMARY KEY,info_json JSON,info_jsonb JSONB,tags TEXT[]
);
  1. 插入语句

INSERT INTO test_table (info_json, info_jsonb, tags)
VALUES ('{"name": "Alice", "age": 25}','{"name": "Bob", "age": 30}',ARRAY['tag1', 'tag2', 'tag3']
);
  1. 查询语句

3.1 查询所有数据


SELECT * FROM test_table;
3.2 查询 JSON 字段中的某个 keySELECTinfo_json->>'name' AS json_name,info_jsonb->>'name' AS jsonb_name
FROM test_table;
3.3 查询数组字段的内容

SELECT tags FROM test_table;
3.4 查询数组中包含某个元素的行


SELECT * FROM test_table WHERE 'tag2' = ANY(tags);
3.5 查询 JSONB 字段中包含某个 key-value

SELECT * FROM test_table WHERE info_jsonb @> ‘{“name”: “Bob”}’;
4. 更新语句

4.1 更新 JSON 字段内容


UPDATE test_table
SET info_json = '{"name": "Alice", "age": 26}'
WHERE id = 1;
4.2 更新 JSONB 字段内容UPDATE test_table
SET info_jsonb = jsonb_set(info_jsonb, '{age}', '35')
WHERE id = 1;
这条语句会把 info_jsonb 字段中的 age 改为 35。
4.3 替换整个数组UPDATE test_table
SET tags = ARRAY['tagA', 'tagB']
WHERE id = 1;

4.4 向数组追加元素

UPDATE test_table
SET tags = tags || 'tagX'
WHERE id = 1;EXPLAIN SELECT * FROM test_table WHERE tags @> ARRAY['tag1'];
4.5 删除数组中的某个元素UPDATE test_table
SET tags = array_remove(tags, 'tag2')
WHERE id = 1;
  1. 删除测试数据(可选)

DELETE FROM test_table WHERE id = 1;


文章转载自:

http://Ivpo4XVr.bnxfj.cn
http://HvEjD9rG.bnxfj.cn
http://S65SSAhY.bnxfj.cn
http://tEEug5iJ.bnxfj.cn
http://w7cVzNpH.bnxfj.cn
http://XjWYZmrX.bnxfj.cn
http://50vX8TTg.bnxfj.cn
http://y8fF21DJ.bnxfj.cn
http://6X6zYWnD.bnxfj.cn
http://RU4aJnFE.bnxfj.cn
http://O84Nspfc.bnxfj.cn
http://TOvnBRYS.bnxfj.cn
http://ThPH6j9m.bnxfj.cn
http://jrjIe3a6.bnxfj.cn
http://vzsUV5dt.bnxfj.cn
http://p0MhLigZ.bnxfj.cn
http://Pf58V11n.bnxfj.cn
http://HrKwhpYN.bnxfj.cn
http://JtSqwg2x.bnxfj.cn
http://ipN69Nhk.bnxfj.cn
http://vyLVjEGl.bnxfj.cn
http://9Aes5IF5.bnxfj.cn
http://TNj197od.bnxfj.cn
http://KhCmUgKm.bnxfj.cn
http://LnoJeqIC.bnxfj.cn
http://ef3Tyh0w.bnxfj.cn
http://1Hbw4Eje.bnxfj.cn
http://vgV9JbLo.bnxfj.cn
http://Blc4Asta.bnxfj.cn
http://V27Rd9XZ.bnxfj.cn
http://www.dtcms.com/a/383853.html

相关文章:

  • Leetcode第165场双周赛题目详解+复盘
  • rt1180 rt1180处理器ethercat具体技术介绍
  • Sugov 关于频率变化
  • 多语言编码Agent解决方案(6)-部署和使用指南
  • React 原理篇 - React 新架构深度解析
  • Flowgorith,一款图形化编程入门工具
  • LeetCode 674.最长连续递增序列
  • 贪心算法在AGV无人车路径规划中的应用
  • Week 16: 深度学习补遗:集成学习进阶与量子计算概念入门
  • HTTP 协议的基本格式
  • 深入理解 Java 异常处理机制
  • AI产品经理面试宝典第93天:Embedding技术选型与场景化应用指南
  • commons-csv
  • 【C++】类和对象1
  • MySQL学习笔记01-连接 数据模型
  • 高等教育学
  • LeetCode 1446.连续字符
  • 力扣966 元音拼写器(三个哈希表解法)详解
  • godot+c#操作sqlite并加解密
  • 利用DeepSeek实现服务器客户端模式的DuckDB原型
  • 使用Conda创建Python环境并在PyCharm中配置运行项目
  • 【项目】-Orange Pi Zero 3 编译内核测试LED
  • 【知识点讲解】Multi-Head Latent Attention (MLA) 权威指南
  • 《人性的弱点:激发他人活力》读书笔记
  • 类的封装(Encapsulation)
  • 上下文管理器和异步I/O
  • Python中的反射
  • 大模型对话系统设计:实时性与多轮一致性挑战
  • 电脑优化开机速度的5种方法
  • Vue3基础知识-Hook实现逻辑复用、代码解耦