Postgresql关于JSON、JSONB的操作符、处理函数(持续更新)
在PostgreSQL中,JSON和JSONB数据类型用于存储JSON格式的数据。JSONB是二进制格式,通常用于优化存储和操作性能。
以下是一些常用的JSON和JSONB操作符及相关处理函数的示例:
-- 创建一个包含JSONB列的表
CREATE TABLE example_table (
id SERIAL PRIMARY KEY,
data JSONB
);
-- 插入JSONB数据
INSERT INTO example_table (data) VALUES
('{"name": "John", "age": 30}'::jsonb),
('{"name": "Jane", "age": 25}'::jsonb);
-- 查询JSON对象中的特定键值
SELECT data->>'name' AS name FROM example_table;
-- 查询JSON对象中的特定嵌套键值
SELECT data->'address'->>'street' AS street FROM example_table;
-- 更新JSON对象中的特定键值
UPDATE example_table SET data = jsonb_set(data, '{age}', '35'::jsonb) WHERE id = 1;
-- 添加新的键到JSON对象
UPDATE example_table SET data = data || '{"country": "USA"}'::jsonb WHERE id = 2;
-- 删除JSON对象中的键
UPDATE example_table SET data = data - 'age' WHERE id = 1;
-- 使用JSONB数据类型创建GIN索引,用于快速搜索
CREATE INDEX idx_example_table_data ON example_table USING GIN (data);
-- 查询包含特定键的JSON对象
SELECT * FROM example_table WHERE data ? 'country';
-- 查询特定键等于特定值的JSON对象
SELECT * FROM example_table WHERE data @> '{"name": "John"}'::jsonb;
这些操作和函数提供了一个基本框架,用于在PostgreSQL中处理JSON和JSONB数据。开发者可以根据实际需求进行调整和扩展。
评论已关闭