mysql:
ALTER TABLE table_name ADD PRIMARY KEY(column_name);
ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(column_name); -- 指定主键名称
ALTER TABLE table_name DROP PRIMARY KEY;
ALTER TABLE table_name DROP CONSTRAINT pk_name; -- 指定主键名称,不光可以删除主键,一切约束均可
informix:
1) 查询主键名称
SELECT constrname FROM sysconstraints
WHERE tabid = (SELECT tabid FROM systables WHERE tabname = 'table_name') and constrtype ='P' ;
2) 删除主键, u108_67
alter table table_name drop constraint u108_67;
3) 新建主键:
ALTER TABLE table_name
ADD CONSTRAINT PRIMARY KEY (column_name) [CONSTRAINT u108_67]; -- 约束名可以指定,但不建议指定,唯一性限制,让系统自行分配的好
oracle:
1) 查询主键名称(已指定的名称的,不需要。即主键与CONSTRAINT关联了,CONSTRAINT pk_name PRIMARY KEY(column_name))
select a.constraint_name
from user_constraints a, user_cons_columns b
where a.constraint_name=b.constraint_name and a.constraint_type='P' and a.table_name='table_name';
2) 删除主键,SYS_C012311
alter table student drop constraint SYS_C012311;
3) 新增主键
ALTER TABLE table_name
ADD CONSTRAINT pk_name PRIMARY KEY(column_name);