postresql 常用sql语句(序列,字段,表相关)

postresql常用sql

序列相关

创建序列:

create sequence 序列名 minvalue 1 maxvalue 99999999    
         increment by 1    
         start with 1; 
例:create sequence resource_security_rule_id_seq minvalue 1 maxvalue 99999999    
         increment by 1    
         start with 1; 

绑定序列到字段上

alter table 【表名】 alter column 【字段】 set default 
例:alter table "public".resource_security_rule alter column id set default 

查看当前序列值

nextval('序列名')
例:nextval('resource_security_rule_id_seq')

删除序列

drop sequence 序列名;
例:drop sequence security_group_rule_seq;

查询所有序列

SELECT
	* 
FROM
	pg_class 
WHERE
 relkind = 'S'

字段相关

新增字段:

ALTER TABLE 【表名】 ADD COLUMN 【字段名】 【类型】;

COMMENT ON COLUMN 【表名】.【字段名】 IS 【字段描述】;
例:
ALTER TABLE "public"."resource_eks_cluster" ADD COLUMN "instance_group" jsonb;

COMMENT ON COLUMN "public"."resource_eks_cluster"."instance_group" IS '实例组详情';
例:
ALTER TABLE "public"."common_cloud_region"

ADD COLUMN "create_time" timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP;

修改字段:

修改字段类型:
alter table 【表名】 alter  COLUMN  【字段名】  type 【修改的类型】 ;
例:alter table "public"."resource" alter  COLUMN  "id"  type varchar(128) ;

修改字段名称:
ALTER TABLE 【表名】 RENAME 【原名称】 TO 【新名称】;
例:ALTER TABLE "public"."resource_instance" RENAME "eks_group_name" TO "group_name";

删除字段:

alter table 【表名】 drop column if exists 【字段名】;
例:alter table "public"."resource_emr_cluster" drop column if exists "instance_id";

表相关

删除表:

DROP TABLE 【表名】;
例:DROP TABLE "public"."resource_emr_instance";

如果存在表再删除
DROP TABLE if exists 【表名】;
drop table if exists "public"."resource_bucket";

新增表:
普通创建:

CREATE TABLE resource_key_pair
(
 id           VARCHAR(64) NOT NULL,
 create_time  TIMESTAMP  ,
 cloud_type   VARCHAR(32)  NOT NULL,
 extend_data JSONB,
 PRIMARY KEY (id)
);;

COMMENT ON TABLE resource_key_pair IS '资源-密钥对';
COMMENT ON COLUMN resource_key_pair.create_time IS '创建时间';
COMMENT ON COLUMN resource_key_pair.id IS '实例ID';
COMMENT ON COLUMN resource_key_pair.extend_data IS '扩展数据';
COMMENT ON COLUMN resource_key_pair.cloud_type IS 'aws/ali/ucloud';
COMMENT ON COLUMN resource_key_pair.last_operate_id IS '最后操作记录';

设置自增主键的创建:



CREATE
    SEQUENCE putaway_zone_id_seq START
    WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;

CREATE TABLE "public"."putaway_zone" (
  "id" int4 NOT NULL DEFAULT nextval('putaway_zone_id_seq'::regclass),
  "putaway_id" int4 NOT NULL,
  "zone_id" int4 NOT NULL
)
;
COMMENT ON COLUMN "public"."putaway_zone"."putaway_id" IS '关联 product_putaway';
COMMENT ON COLUMN "public"."putaway_zone"."zone_id" IS '关联 cloud_zone';

ALTER TABLE "public"."putaway_zone" ADD CONSTRAINT "putaway_zone_pkey" PRIMARY KEY ("id");

补充:

当数据为jsonb类型时,如何判断某个值在其中
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小轩爱编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值