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

Oracle创建主外键

2015-11-10 16:09 381 查看

-创建表格语法:

create table 表名(
字段名1 字段类型(长度) 是否为空,
字段名2 字段类型 是否为空
);

-增加主键
alter table 表名 add constraint 主键名 primary key (字段名1);

-增加外键:
alter table 表名
add constraint 外键名 foreign key (字段名1)
references 关联表 (字段名2);

在建立表格时就指定主键和外键

create table T_STU (
STU_ID char(5) not null,
STU_NAME varchar2(8) not null,
constraint PK_T_STU primary key (STU_ID)
);

主键和外键一起建立:
create table T_SCORE (
EXAM_SCORE number(5,2),
EXAM_DATE date,
AUTOID number(10) not null,
STU_ID char(5),
SUB_ID char(3),
constraint PK_T_SCORE primary key (AUTOID),
constraint FK_T_SCORE_REFE foreign key (STU_ID)
references T_STU (STU_ID)
)

oracle命令建立主键外键

1、创建一张学生表
[sql]
SQL> create table t_stu(
2  stuid number(10) primary key,
3  stuname varchar2(20) not null,
4  stusex varchar2(2) default '男' check(stusex in('男','女')));

Table created
Executed in 0.547 seconds

2、创建一张课程表
[sql]
SQL> create table t_couse(
2  couseid number(10) primary key,
3  cousename varchar2(20) not null,
4  cousetype varchar2(4));
www.2cto.com
Table created
Executed in 0.062 seconds

3、创建一张学生课程成绩表(包括主外键)
[sql]
SQL> create table t_score(
2  scoreid number(10) primary key,
3  stuid number(10) references t_stu(stuid),
4  couseid number(10),
5  constraint fk_couseid foreign key(couseid)
6  references t_couse(couseid)
7  on delete cascade);

Table created
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: