Oracle中创建主键、外键和唯一约束的代码

首先创建学生信息表studentinfo和学生成绩表testinfo。
--学生信息表
CREATE TABLE studentInfo (
  stuNo       CHAR(10) NOT NULL ,
  stuName     VARCHAR2(20) NOT NULL,
  stuSex      NUMBER(1),
  stuBirthday DATE DEFAULT SYSDATE ,
  stuAddress VARCHAR2(20)
);
--学生成绩表
CREATE TABLE testInfo (
  stuNo       CHAR(10) NOT NULL ,
  classNo     CHAR(5) NOT NULL,
  testScore   NUMBER(3,1)
);

--约束条件:设置主键
alter table testinfo add constraint fk_1  foreign key (stuno) references studentinfo(stuno);

--约束条件:设置外键
alter table studentinfo add constraint pk_1 primary key (stuno);

--约束条件:设置唯一
alter table testinfo add constraint uniq_1 unique (stuno,classno);

--插入测试数据

INSERT INTO STUDENTINFO VALUES('001','ZHANGSAN',1,'03-1月-86','南京市玄武区');
INSERT INTO STUDENTINFO VALUES('002','LISI',1,'05-12月-86','南京市玄武区');
INSERT INTO STUDENTINFO VALUES('003','WANGWU',0,'03-10月-85','南京市白下区');
INSERT INTO STUDENTINFO VALUES('004','ZHANGSAN',1,'23-10月-88','南京市下关区');
INSERT INTO STUDENTINFO VALUES('005','SMITH',0,'31-10月-89','南京市玄武区');
INSERT INTO STUDENTINFO VALUES('006','ALLEN',1,'25-12月-86','南京市栖霞区');
INSERT INTO STUDENTINFO VALUES('007','SCOTT',1,'08-11月-86','南京市浦口区');
INSERT INTO STUDENTINFO VALUES('008','BRUCE LEE',0,'03-11月-80','南京市雨花区');
INSERT INTO STUDENTINFO VALUES('009','BRUCE LEE',1,'09-12月-87','南京市六合区');
INSERT INTO STUDENTINFO VALUES('010','ZHANGSAN',1,'13-11月-82','南京市玄武区');


INSERT INTO TESTINFO VALUES('001','02',90.5);
INSERT INTO TESTINFO VALUES('001','01',80);
INSERT INTO TESTINFO VALUES('001','03',60);
INSERT INTO TESTINFO VALUES('001','04',50);
INSERT INTO TESTINFO VALUES('001','05',70);


若对你的学习有帮助,请评论!以便继续努力为大家提供帮助。

你可能感兴趣的:(oracle)