Oracle-创建表以及插入数据一

在数据库的学习中,表的创建是需要掌握好的,下面直接进行实操。
1.建立基本表
(1)创建系表dept,由以下属性组成:
系号dno(int型,主码),
系名dname(varchar 2型,长度为20,非空)。

create table dept(
       dno int,
       dname varchar2(20) not null,
       constraint dept_pk_dno primary key (dno)
);

(2)创建学生表student,由以下属性组成:
学号sno(int型,主码),
姓名sname(varchar2型,长度为10,非空,唯一),
性别sex(char 型,长度为1),
所在系dno(int型),
其中dno为外键,参照表dept的dno。

create table student(
       sno int,
       sname varchar2(10) not null unique,
       sex char(1),
       dno int,
       constraint student_pk_sno primary key (sno),
       constraint student_fk_dno foreign key (dno) references dept(dno)
);

(3)创建教师表teacher,由以下属性组成:
教师编号tno(int 型,主码),
教师姓名tname(varchar2型,长度为20,非空)。

create table teacher(
       tno int,
       tname varchar2(20) not null,
       constraint teacker_pk_tno primary key (tno)
);

(4)创建课程表course,由以下属性组成:
课程号cno(int型),
课程名cname(varchar2型,长度为20,非空),
授课教师编号tno(int型),
学分credit(int型),
其中cno为主码,tno为外键,参照表teacher的tno。

create table course(
       cno int,
       cname varchar2(20) not null,
       tno int,
       credit int,
       constraint course_pk_cno primary key (cno),
       constraint course_fk_tno foreign key (tno) references teacher(tno)
);

(5)创建学生选课表sc,由以下属性组成:
学号sno,课程cno,成绩grade。所有属性均为int 型,其中(sno,cno)为主码,sno为外键,参照表student的sno;cno为外键,参照表course的cno。

create table sc(
       sno int,
       cno int,
       grade int,
       constraint sc_pk_scno primary key(sno,cno),
       constraint sc_fk_sno foreign key (sno) references student(sno),
       constraint sc_fk_cno foreign key (cno) references course(cno)
);

(6)创建一个视图名为cs_student,显示系名为“信息技术”的学生记录。

create view cs_student as select * from student 
where dno=(select dno from dept where dname = '信息技术');

2.向表中插入数据

insert into dept values(10,'信息技术');
insert into dept values(20,'软件工程');
insert into dept values(30,'网络工程');

insert into student values(1001,'张天','0',10);
insert into student values(1002,'李兰','1',10);
insert into student values(1003,'刘茜','1',20);
insert into student values(1004,'马朝阳','0',30);

insert into teacher values(101, '张星');
insert into teacher values(102, '李珊');
insert into teacher values(103, '赵天');

insert into course values(1, '数据结构', 101, 4);
insert into course values(2, '数据库', 102, 4);
insert into course values(3, '离散数学', 103, 4);
insert into course values(4, 'c语言程序设计', 103, 4);

insert into sc values(1001, 1, 80);
insert into sc values(1001, 2, 85);
insert into sc values(1002, 1, 78);
insert into sc values(1002, 2, 82);
insert into sc values(1002, 3, 86);
insert into sc values(1003, 1, 92);
insert into sc values(1003, 3, 90);
insert into sc values(1004, 4, 90);

至此,基本表创建以及数据插入结束。可以通过这些表来尝试其它的一些sql语句。
个人学习记录,如果有错误的地方,希望看见的同学能给我指出来。

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值