Oracle中给表主键、外键收集

1、创建表的同时创建主键约束

 

(1)无命名 create table student ( studentid int primary key not null, studentname varchar(8), age int);

 

(2)有命名 create table students ( studentid int , studentname varchar(8), age int, constraint yy primary key(studentid));

 

2、删除表中已有的主键约束

 

(1)无命名可用 SELECT * from user_cons_columns; 查找表中主键名称得student表中的主键名为SYS_C002715 alter table student drop constraint SYS_C002715;

 

(2)有命名 alter table students drop constraint yy;

 

3、向表中添加主键约束 alter table student add constraint pk_student primary key(studentid);

 

4、向表中添加外键约束 ALTER TABLE table_A ADD CONSTRAINT FK_name FOREIGN KEY(id) REFERENCES table_B(id);

 

 

ORACLE: 查询(看)表的主键、外键、唯一性约束和索引

1、查找表的所有索引(包括索引名,类型,构成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 表名

2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 表名

3、查找表的唯一性约束(包括名称,构成列):
select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 表名

4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 表名

外键约束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键名称

引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名

5、查询表的所有列及其属性:
select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 表名

[@more@]

posted @ 2015-11-10 16:11  孟宇  阅读(291)  评论(0编辑  收藏  举报