主键也是索引的一种
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一的标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
1 创建主键(没有名字)
create table jack
(id int primary key not null,
name varchar2(20)
);select table_name,index_name from user_indexes where table_name='JACK';TABLE_NAME INDEX_NAME
------------------------------ ------------------------------
JACK SYS_C0011314
2 创建主键(有名字)
select table_name,index_name from user_indexes where table_name='JACK';TABLE_NAME INDEX_NAME
------------------------------ ------------------------------
JACK IXD_ID
3 向表中添加主键约束
alter table jack add constraint pk_id primary key(id);
4 禁用主键 alter table jack disable primary key;
启用主键 alter table jack enable primary key;
可通过该语句查询主键启用情况
select a.table_name,a.index_name,b.constraint_name,b.constraint_type,b.status from user_indexes a,user_constraints b where b.table_name='JACK'and a.table_name=b.table_name;
5 重命名主键
alter table jack rename constraint pk_id to pk_jack_id;
6 删除主键
查询主键
select table_name,index_name from user_indexes where table_name='JACK';
select owner,constraint_name,table_name,column_name from user_cons_columns where table_name = 'JACK'
删除主键
alter table jack drop constraint PK_JACK_ID;