开发过程中PostgreSQL常用的SQL语句,持续更新ing

news/2024/7/9 22:02:27 标签: postgresql, 数据库

修改字段类型

-- ALTER TABLE 模式名.表明 ALTER COLUMN 字段名 TYPE 类型;
alter table alarm.alarm_produce_config alter column alarm_level type int4;

重置序列值

-- ALTER SEQUENCE 序列名 RESTART WITH 序列值;
alter sequence enterprise_type_id_seq restart with 1;

查询表的字段名

-- SELECT COLUMN_NAME FROM information_schema.columns WHERE table_schema = '模式名' AND table_name = '表名';
select COLUMN_NAME from information_schema.columns where table_schema= 'safety' and table_name= 'alarm_record';

字段重命名

-- ALTER TABLE 模式名.表明 RENAME 字段名 TO 新字段名;
alter table archive.park_department rename "park_code" to "department_code";

删除表字段

-- ALTER TABLE 模式名.表明 DROP COLUMN IF EXISTS 字段名;
alter table forest.dict_fire_type drop column if exists color;

新增表字段

-- ALTER TABLE 模式名.表明 ADD COLUMN IF NOT EXISTS 字段名 字段类型;
alter table alarm.alarm_task_data add column if not exists alarm_id varchar(255);

删除不为空约束段

-- ALTER TABLE 表名 ALTER COLUMN 列名 DROP NOT NULL;
alter table emergency.alarm_record alter column level drop not null;

Mybatis XML中 > < >= <= 的写法

符号写法
<&lt;
>&gt;
<=&lt;=
>=&gt;=

命令行连接数据库

-- psql -U 用户名 -d 数据库
psql -U ltfse -d ltfse

查询表字段类型

-- 指定表明即可
SELECT column_name, data_type FROM information_schema.columns WHERE table_name = '表名';

为字段设置默认值

-- ALTER TABLE 表名 ALTER COLUMN 字段名 SET DEFAULT 默认值;
ALTER TABLE "safety"."point" ALTER COLUMN offline_alarm SET DEFAULT true;

删除字段默认值

-- ALTER TABLE 表名 ALTER COLUMN 字段名 DROP DEFAULT;
ALTER TABLE "safety"."point" ALTER COLUMN data_alarm DROP DEFAULT;

数组字段添加值

-- UPDATE 表名 SET 字段名 = array_append(字段名, '需要添加的值') WHERE 条件;
-- 请注意,在使用array_append函数时,如果字段原先没有值或者为NULL,则会创建一个只包含一个元素的新数组。如果字段已有值,则会在其后追加新元素。
UPDATE users SET interests = array_append(interests, 'sports') WHERE id = 1;

-- 如果您想要将多个值添加到数组中,可以使用array_cat函数,在这个例子中,||是用来连接两个数组的运算符。左边是现有的数组,右边是要追加的新元素数组。
UPDATE users SET interests = interests || '{sports,technology}' WHERE id = 1;

修改JsonB字段中的某个字段值

-- UPDATE 表名 SET JsonB字段名 = jsonb_set(JsonB字段名, '{要修改的字段}', '值') where Conditions
UPDATE safety.work_process SET basic_information_json = jsonb_set(basic_information_json, '{video}', '${val}') where work_no = 'ZK-001';

修改JsonB类型字段中的数组字段

-- 例如:现有一个work_process表,其中有一个字段(basic_information_json)的类型为JsonB,并且其中有一条数据该字段的值为:
-- {"level": "特级", "height": "1111", "spBill": [{"no": "ZK-DH-20240001", "workType": 3}], "workContent": "驳回状态"},
-- 现有一个需求需要向该字段中的spBill字段增加一个元素,那么我们就可以使用下面的sql来完成该需求

-- UPDATE my_table SET json_data = jsonb_set(json_data, '{my_array}', jsonb_insert(json_data->'my_array', '{-1}', '"new_element"'::jsonb)) WHERE Conditions
-- {-1}表示在索引末尾查询,如果需要在首位插入使用{0}即可

UPDATE work_process SET basic_information_json = jsonb_set(basic_information_json, '{spBill}',
    jsonb_insert(basic_information_json -> 'spBill', '{-1}', '{"no": "ZK-DH-20240001","workType": 3}'::jsonb)
) WHERE work_no = 'ZK-002';

PS:持续更新中。。。。


http://www.niftyadmin.cn/n/5454447.html

相关文章

文心一言官网入口:一站式解决AI疑惑,探索AI世界的无限可能

1. 背景介绍 随着人工智能技术的飞速发展&#xff0c;越来越多的企业和开发者开始关注并尝试使用AI技术。然而&#xff0c;AI技术的发展日新月异&#xff0c;各种算法和框架层出不穷&#xff0c;使得初学者和开发者往往感到困惑和无从下手。为了帮助广大开发者更好地理解和使用…

C# 预处理指令 #

#define 它用于定义一系列成为符号的字符。 #undef 它用于取消定义符号。 #if 它用于测试符号是否为真。 #else 它用于创建复合条件指令&#xff0c;与 #if 一起使用。 #elif 它用于创建复合条件指令。 #endif 指定一个条件指令的结束。 #line 它可以让您修改编译器的行数以及&…

大模型的 Token 使用详解:限制与注意事项

在大型语言模型中&#xff0c;Token 是指文本处理的基本单位&#xff0c;通常是单词、短语或句子的一部分。Tokenization 是将输入文本分割成一系列 Token 的过程&#xff0c;它是自然语言处理&#xff08;NLP&#xff09;任务中的关键步骤。了解 Token 的使用限制和注意事项对…

macos下 jupyter服务安装和vscode链接密码设置 .ipynb文件

最近收到了一些后缀为.ipynb的文件&#xff0c; 这个文件就是使用jupyter编辑的&#xff0c;于是就需要安装一个jupyter服务&#xff0c; 对于最新版本的jupyter 网上很多的资料都已经过期了&#xff0c;这里以最新版本的jupyter为例。 jupyter lab安装 jupyter 这个工具包含…

解锁社交媒体图像内容的深度学习之道

社交媒体已经成为我们日常生活中不可或缺的一部分&#xff0c;人们通过分享图片、视频和文字来交流和表达自己。然而&#xff0c;这些海量的图像数据中蕴含着大量的信息和情感&#xff0c;而要从中准确地提取和理解这些信息&#xff0c;就需要借助先进的技术手段。深度学习作为…

pt-archiver的实践分享,及为何要用 ob-archiver 归档数据的探讨

作者简介&#xff1a;肖杨&#xff0c;软件开发工程师 在数据密集型业务场景中&#xff0c;数据管理策略是否有效至关重要&#xff0c;它直接关系到系统性能与存储效率的提升。数据归档作为该策略的关键环节&#xff0c;不仅有助于优化数据库性能&#xff0c;还能有效降低存储成…

MFC标签设计工具 图片控件上,移动鼠标显示图片控件内的鼠标xy的水平和垂直辅助线要在标签模板上加上文字、条型码、二维码 找准坐标和字体大小 源码

需求&#xff1a;要在标签模板上加上文字、条型码、二维码 找准坐标和字体大小 我生成标签时&#xff0c;需要对齐和 调文字字体大小。这工具微调 能快速知道位置 和字体大小。 标签设计(点击图片&#xff0c;上下左右箭头移动 或-调字体) 已经够用了&#xff0c;滚动条还没完…

【保姆级教程】使用SeaTunnel同步Kafka的数据到ClickHouse

1.Apache SeaTunnel依赖地址 2.SeaTunnel官网的Source/Sink模板 3.SeaTunnel的GitHub地址 在官网下载安装包之后&#xff0c;&#xff08;注意&#xff1a;别下载apache-seatunnel-incubating-2.1.0-bin.tar.gz版本&#xff0c;依赖和功能都没有。)要使用apache-seatunnel-2.3…