1. 程式人生 > >Oracle資料庫建表新增資料

Oracle資料庫建表新增資料

--建表
--student表+註釋
create table student(
       sno   varchar2(3) not null,
       sname varchar2(9) not null,
       ssex  varchar2(3) not null,
       sbirthday date,
       sclass varchar2(5),
       constraint pk_student primary key(sno)
);
comment on column student.sno is '學號(主鍵)';
comment on column student.sname is '學生姓名';
comment on column student.ssex is '學生性別';
comment on column student.sbirthday is '學生出生年月日';
comment on column student.sclass is '學生所在班級';
--course表+註釋
create table course(
       cno       varchar2(5) not null,
       cname     varchar2(15) not null,
       tno       varchar2(3) not null,
       constraint pk_course primary key(cno)
);
comment on column course.cno is '課程編號(主鍵)';
comment on column course.cname is '課程名稱';
comment on column course.tno is '教工編號(外來鍵)';
--score表+註釋
create table score(
        sno   varchar2(3) not null,
        cno   varchar2(5) not null,
        degree   number(4,1),
        constraint pk_score primary key(sno,cno)
);
comment on column score.sno is '學號(主鍵)';
comment on column score.cno is '課程編號(主鍵)';
comment on column score.degree is '成績';
--teacher表+註釋
create table teacher(
       tno   varchar2(3) not null,
       tname varchar2(9) not null,
       tsex  varchar2(3) not null,
       tbirthday date,
       prof  varchar2(9),
       depart varchar2(15) not null,
       constraint pk_teacher primary key(tno)
);
comment on column teacher.tno is '教工編號(主鍵)';
comment on column teacher.tname is '教工姓名';
comment on column teacher.tsex is '教工性別';
comment on column teacher.tbirthday is '教工出生年月';
comment on column teacher.prof is '職稱';
comment on column teacher.depart is '教工所在單位';
--新增外來鍵
alter table course add constraint fk_tno foreign key(tno) references teacher(tno);
alter table score add constraint fk_sno foreign key(sno) references student(sno);
alter table score add constraint fk_cno foreign key(cno) references course(cno);
--新增資料
--Student表
insert into student(sno,sname,ssex,sbirthday,sclass) values(108,'曾華','男',to_date('1977-09-01','yyyy-mm-dd'),95033);
insert into student(sno,sname,ssex,sbirthday,sclass) values(105,'匡明','男',to_date('1975-10-02','yyyy-mm-dd'),95031);
insert into student(sno,sname,ssex,sbirthday,sclass) values(107,'王麗','女',to_date('1976-01-23','yyyy-mm-dd'),95033);
insert into student(sno,sname,ssex,sbirthday,sclass) values(101,'李軍','男',to_date('1976-02-20','yyyy-mm-dd'),95033);
insert into student(sno,sname,ssex,sbirthday,sclass) values(109,'王芳','女',to_date('1975-02-10','yyyy-mm-dd'),95031);
insert into student(sno,sname,ssex,sbirthday,sclass) values(103,'陸君','男',to_date('1974-06-03','yyyy-mm-dd'),95031);
--teacher表
insert into teacher(tno,tname,tsex,tbirthday,prof,depart) values(804,'李誠','男',to_date('1958/12/02','yyyy-mm-dd'),'副教授','計算機系');
insert into teacher(tno,tname,tsex,tbirthday,prof,depart) values(856,'張旭','男',to_date('1969/03/12','yyyy-mm-dd'),'講師','電子工程系');
insert into teacher(tno,tname,tsex,tbirthday,prof,depart) values(825,'王萍','女',to_date('1972/05/05','yyyy-mm-dd'),'助教','計算機系');
insert into teacher(tno,tname,tsex,tbirthday,prof,depart) values(831,'劉冰','女',to_date('1977/08/14','yyyy-mm-dd'),'助教','電子工程系');
--course表(新增外來鍵後要先填teacher表中資料去滿足外來鍵約束)
insert into course(cno,cname,tno) values('3-105','計算機導論',825);
insert into course(cno,cname,tno) values('3-245','作業系統',804);
insert into course(cno,cname,tno) values('6-166','數位電路',856);
insert into course(cno,cname,tno) values('9-888','高等數學',831);
--score表(新增外來鍵後要先填Student,course表中資料去滿足外來鍵約束)
insert into score(sno,cno,degree) values(103,'3-245',86);
insert into score(sno,cno,degree) values(105,'3-245',75);
insert into score(sno,cno,degree) values(109,'3-245',68);
insert into score(sno,cno,degree) values(103,'3-105',92);
insert into score(sno,cno,degree) values(105,'3-105',88);
insert into score(sno,cno,degree) values(109,'3-105',76);
insert into score(sno,cno,degree) values(101,'3-105',64);
insert into score(sno,cno,degree) values(107,'3-105',91);
insert into score(sno,cno,degree) values(108,'3-105',78);
insert into score(sno,cno,degree) values(101,'6-166',85);
insert into score(sno,cno,degree) values(107,'6-166',79);
insert into score(sno,cno,degree) values(108,'6-166',81);