您的位置:首页 > 数据库 > Oracle

Oracle中给表主键、外键收集

2015-11-10 16:11 471 查看
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@]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: