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

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

修改字段类型

-- 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.lryc.cn/news/326779.html

相关文章:

  • Linux screen命令教程:如何在一个终端窗口中管理多个会话(附实例详解和注意事项)
  • Android中的本地广播与全局广播
  • Debezium日常分享系列之:Debezium2.5稳定版本之MySQL连接器配置示例和Connector参数详解
  • vue3父组件给子组件传值,并在子组件接受
  • Python爬虫如何快速入门
  • 酷开科技依托酷开系统用“平台+产品+场景”塑造全屋智能生活!
  • P8649 [蓝桥杯 2017 省 B] k 倍区间:做题笔记
  • LeetCode题练习与总结:旋转图像
  • 如何在家中使用手机平板电脑 公司iStoreOS软路由实现远程桌面
  • 【文献分享】myMUSCLE, a New Multiphysics, Multiscale Simulation Coupling Environment
  • 2024年云计算使用报告,89%组织用多云,25%广泛使用生成式AI,45%需要跨云数据集成,节省成本是云首要因素
  • 【Python操作基础】——序列
  • Vue 与 React:前端框架对比分析
  • 解决kubesphere流水线docker登陆错误http: server gave HTTP response to HTTPS client
  • macOS安装mongoDB(homebrew)
  • 免费SSL证书和付费SSL证书的区别点
  • 【SQL】1633. 各赛事的用户注册率(COUNT函数 表达式用法)
  • 【LVGL-使用SquareLine Studio设计器 】
  • 将二进制数a的每一位右移b位operator.rshift(a,b)
  • M芯片 mac配置Vulkan环境报错 Xcode
  • Day23:事务管理、显示评论、添加评论
  • 第一篇:概述、 目录、适用范围及术语 --- IAB/MRC《增强现实(AR)广告(效果)测量指南1.0 》
  • pytorch常用的模块函数汇总(2)
  • OpenAI奥特曼豪赌1.42亿破解长生不老
  • [晕事]今天做了件晕事29;iptables
  • 2018年亚马逊云科技推出基于Arm的定制芯片实例
  • 用搜索引擎收集信息-常用方式
  • Adobe推出20多个,企业版生成式AI定制、微调服务
  • 叁[3],NavigationDrawerViewsActivity新增Fragment
  • 备考ICA----Istio实验7---故障注入 Fault Injection 实验