最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle做学生信息系统的脚本

来源:懂视网 责编:小采 时间:2020-11-09 16:13:16
文档

Oracle做学生信息系统的脚本

Oracle做学生信息系统的脚本:Oracle做学生信息系统的脚本 无 要求的约束条件有: 主键是学号;入学日期必须大于出生日期;总分必须在0到700之间;学号和姓名不能为空create table student (sid number not null primary key,name nvarchar2(10) not null
推荐度:
导读Oracle做学生信息系统的脚本:Oracle做学生信息系统的脚本 无 要求的约束条件有: 主键是学号;入学日期必须大于出生日期;总分必须在0到700之间;学号和姓名不能为空create table student (sid number not null primary key,name nvarchar2(10) not null

Oracle做学生信息系统的脚本 无 要求的约束条件有: 主键是学号;入学日期必须大于出生日期;总分必须在0到700之间;学号和姓名不能为空create table student (sid number not null primary key,name nvarchar2(10) not null,birthday date,sdate date,addres

Oracle做学生信息系统的脚本
<无> $velocityCount-->
 要求的约束条件有:
 主键是学号;入学日期必须大于出生日期;总分必须在0到700之间;学号和姓名不能为空


create table student (
	sid number not null primary key,
	name nvarchar2(10) not null,
	birthday date,
	sdate date,
	address nvarchar2(20),
	mark number,
	constraint ck_sdate check(sdate>birthday),
	constraint ck_mark check(mark>=0 and mark<=700))tablespace users;

 insert into student values(1001,'张三','1-1月-1981','1-1月-1999','上海',600);


 用OEM再创建以上表student2,添加约束,并在数据输入窗口输入以下记录:

 表字段名(英文部分)及部分数据如下:
 sid(学号)name(姓名)birthday(出生日期)sdate(入学日期)address(家庭地址 ) mark(入学总分)
 1001 张三名 1981-1-1 1999-1-1 张三名的家庭地址 600
 1002 李三名 1982-2-2 2000-1-1 李三名的家庭地址 620
 1003 张四名 1983-3-3 2001-1-1 张四名的家庭地址 580
 1004 李四名 1984-4-4 2002-1-1 李四名的家庭地址 592
 计算出学生总数;
	select count(1) as 学生总数 from student;

 查询出姓名中第二个字符为“三”而且不姓张的学生;
	select * from student where name like '_三%' and name not like '张%';


 查询出在1982-1-1和1984-1-1之间出生的学生的姓名;
	select name,birthday from student where birthday between to_date('1982-1-1','yyyy-MM-dd') and to_date('1984-1-1','yyyy-MM-dd');


 查询出年龄最小的学生;
	select * from student where birthday in (select max(birthday) from student);

 查询出在学校待的时间最长的学生;
	select * from student where sdate in (select min(sdate) from student);

 计算出所有学生总分的平均分;
	select avg(mark) as 平均分 from student;

 显示总分最高的学生的总分和姓名;
	select name,mark from student where mark in (select max(mark) from student);

 删除总分在600以下的学生,然后进行回滚;
	delete from student where mark<600 ;rollback;

 为表添加两列,一列是sex(性别),一列是speciality(专业),
 	其中,专业部分的默认值是“外语”;且有一个名为CK_SEX的约束条件:性别只能是“男”或“女;
 修改专业的默认值为“计算机”;
	alter table student add(sex nvarchar2(4) check (sex='男' or sex='女'), speciality nvarchar2(10) default '外语');
	alter table student modify(speciality default '计算机');
id(编号) sid(学生编号) testtype(考试类型) score(分数)
 1	 	1001	 期中 580
 2	 	1001	 期末	590
 3	 	1002 期中 570
 4 	1002 期末	 595
 5 	1003 期中	 570
 6 	1003 期末	 565
	
create table score
(
	id number not null,
	sid number not null,
	testtype nvarchar2(10),
	score number	
);
用OEM界面给score创建一个外键,对应student的主键,然后在sql*plus中用sql语句删除此外键,再用sql语句为score创建一个外键;
	alter table score drop constraint SCORE_FK21245050242859;
	alter table score add (constraint fk_sid foreign key(sid) references student(sid));
	select sid,name,address from student where mark>610 and sid in
	(select sid from score where testtype='期末' and score>=590);
update score set score=score+10 where testtype='期末' and sid in (select sid from student where mark>=600);
select * from student where sid not in (select sid from score);

文档

Oracle做学生信息系统的脚本

Oracle做学生信息系统的脚本:Oracle做学生信息系统的脚本 无 要求的约束条件有: 主键是学号;入学日期必须大于出生日期;总分必须在0到700之间;学号和姓名不能为空create table student (sid number not null primary key,name nvarchar2(10) not null
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top