当前位置: 代码迷 >> 综合 >> pgsql:DDL基本操作语句
  详细解决方案

pgsql:DDL基本操作语句

热度:95   发布时间:2023-12-08 17:53:15.0

添加字段

alter table t_user_arch ADD column arch_no_old varchar(30) NOT NULL DEFAULT '';

删除字段

alter table t_user_arch DROP column meter_class_amount;

添加索引

create INDEX is_cancel_index ON t_pay_rec(is_cancel); -- is_cancel_index 是索引名,必须是唯一的,删除索引时会用到,建议表名_字段名_index为命名规则。

删除索引

DROP INDEX indexname; -- indexname 是索引名

添加唯一键约束

alter table t_wechat_user add CONSTRAINT unique_arch_id_openid UNIQUE(arch_id,openid);

修改字段类型

alter  table  表名  alter column 列名  type 类型  using 列名::类型

alter table cx1 alter fsje type numeric(18, 2) USING fsje::numeric(18,2);

添加标识列,将列设置为标识列,GENERATED类型(可用于重置标识列)

--删除已有标识列
ALTER TABLE t_wxpay_file_item ALTER COLUMN fid DROP IDENTITY IF EXISTS;
--添加标识列 从9999起始
ALTER TABLE t_wxpay_file_item ALTER COLUMN fid ADD GENERATED BY DEFAULT AS IDENTITY (START WITH 9999 INCREMENT BY 1)

添加序列(用于创建表后或迁移表,存在序列名的增长列)

alter table test alter column id set default nextval(‘test_id_seq’);

获取序列值

select nextval('"test_id_seq"');

重置序列值

alter sequence s_seq restart with 2

或select  setval('s_seq',2,false)