添加字段:
alter table test add column id int not null,name varchar(10); 同时添加非空
alter table test add column id int default '10'; 同时添加默认值
删除字段:
alter table test drop column if exsts id;
alter table test drop id;
alter table test drop id,drop name;
修改字段数据类型:
alter table test alter column id type text;
重命名字段:
alter table test rename column id to id2;
添加、删除主键:
alter table test add primary key(id);
lter table test2 drop constraint test2_pkey;
添加、删除外键:
alter table test add foreign key(id) references test1(sid) on update cascade on delete cascade;
on update cascade: 被引用行更新时,引用行自动更新;
on update restrict: 被引用的行禁止更新;
on delete cascade: 被引用行删除时,引用行也一起删除;
on dellete restrict: 被引用的行禁止删除
alter table test2 drop constraint test2_id_fkey;
删除字段:(如果被外键引用需要使用cascade)
alter table test drop column id cascade;
增加约束:
alter table test add conversion unique_test_id_key unique(id); 表示id是唯一约束
alter table test alter column id set not null; 表示id增加非空约束
添加约束是需要存在的数据符合约束
删除约束:
alter table test drop constraint unique_test_id_key; 删除唯一约束
alter table test alter column id drop constraint not null; 删除非空约束
添加、修改、删除默认值:
alter table test alter column name set default 'aaa';
alter table test alter column id set default 1;
alter table test alter column id dorp default;
添加注释信息:
comment on table test is '备注信息'; 表的备注信息增加:
comment on column test.id is '备注信息'; 表的列名备注信息增加:
select * from pg_description join pg_class on pg_description.objoid = pg_class.oid where relname = 'test'; 查询表的列名备注信息