数据库原理与应用 实验三:表数据操作sql文件和实验报告

这篇博客介绍了如何使用SQL在数据库中进行表数据操作,包括创建stu_info、course_info和stu_grade表,以及插入、更新和删除数据。还涉及到表的约束、外键设置和数据完整性检查。此外,博客提到了实验报告中的操作步骤和实验总结,强调了理论与实践结合的重要性。
摘要由CSDN通过智能技术生成

实验三:表数据操作sql文件

sql文件已上传到资源管理中心,有需自取

/删除三个表/
drop table stu_grade,stu_info,course_info;
go

use student;
go
/*
创建stu_info表
*/
create table stu_info
(
stu_id char(10) not null constraint stu_id primary key,
name nvarchar(20) not null,
birthday date,
sex nchar(1) default ‘男’,
address nvarchar(20),
mark smallint,
major nvarchar(20),
sdept nvarchar(20)
);
go

/*
创建course_info表
*/

create table course_info
(
course_id char(3) not null constraint course_id primary key,
course_name nvarchar(20) not null,
course_type nchar(2) default ‘考试’,
course_mark tinyint,
course_time int
);
go

/*
创建stu_grade表
*/

create table stu_grade
(
stu_id char(10) not null constraint fk_stu_id foreign key references stu_info(stu_id),
course_id char(3) not null constraint fk_course_id foreign key references course_info(course_id),
grade decimal(5,2)
);
go

/*
将stu_grade表中的stu_id与course_id合在一起作为主键
*/

alter table stu_grade
add constraint pk_stu_course primary key(stu_id,course_id);
go

/*
增加备注字段,
字段名memo,
字段类型nvarchar,
字段长度200;
*/

alter table stu_grade
add memo nvarchar(200);
go

/*
在表course_info中,
对于字段course_name设置UNIQUE约束;
*/

alter table course_info
add unique(course_name);
go

/*
在表stu_grade中,
对于字段grade设置CHECK约束,
其取值在0到100之间;
*/

alter table stu_grade
add check(grade between 0 and 100);
go

/*
在表stu_grade中,
对于字段stu_id设置FOREIGN KEY约束,
其取值参照表stu_info中stu_id字段的取值;
*/

alter table stu_grade
add foreign key(stu_id) references stu_info(stu_id);
go

/*
在表course_info中,
增加先行课字段,
字段名pre_course_id,
其取值参照该表中course_id字段的取值;

步骤:
1.先创建pre_course_id列;
2.再设置外码约束
*/

–创建pre_course_id
alter table course_info
add pre_course_id char(3);
go

–设置外码约束
alter table course_info
add foreign key (pre_course_id) references course_info(course_id);
go

/*
利用INSERT INTO命令
向 学生信息表stu_info、
课程信息表course_info、
学生成绩表stu_grade中添加数据
*/

–学生信息表
INSERT INTO stu_info(stu_id,name,sex,birthday,address,mark,major,sdept)
VALUES(‘2007070101’,‘张元’,‘男’,‘1985-10-09’,‘河南郑州’,580,‘计算机科学与技术’,‘信息学院’)
INSERT INTO stu_info(stu_id,name,sex,birthday,address,mark,major,sdept)
VALUES(‘2007070102’,‘张红’,‘女’,‘1985-01-14’,‘河南开封’,565,‘计算机科学与技术’,‘信息学院’)
INSERT INTO stu_info(stu_id,name,sex,birthday,address,mark,major,sdept )
VALUES(‘2007070103’,‘王明’,‘男’,‘1986-07-08’,‘河南洛阳’,570,‘计算机科学与技术’,‘信息学院’)
INSERT INTO stu_info(stu_id,name,sex,birthday,address,mark,major,sdept )
VALUES(‘2007070104’,‘李伟’,‘男’,‘1986-03-11’,‘河南郑州’,564,‘计算机科学与技术’,‘信息学院’)
INSERT INTO stu_info(stu_id,name,sex,birthday,address,mark,major,sdept )
VALUES(‘2007070201’,‘郑澜’,NULL,‘1985-12-01’,‘河南平顶山’,567,‘电子商务’,‘信息学院’)
INSERT INTO stu_info(stu_id,name,sex,birthday,address,mark,major,sdept )
VALUES(‘2007070202’,‘赵恒’,‘男’,‘1986-02-03’,‘河南周口’,566,‘电子商务’,‘信息学院’)
INSERT INTO stu_info(stu_id,name,sex,birthday,address,mark,major,sdept )
VALUES(‘2007070203’,‘张兰’,‘女’,‘1986-04-06’,‘河南许昌’,571,‘电子商务’,‘信息学院’)
INSERT INTO stu_info(Stu_id,name,sex,birthday,address,mark,major,sdept )
VALUES(‘2007080101’,‘李伟’,‘男’,‘1985-09-12’,‘河南郑州’,578,‘会计学’,‘会计学院’)
INSERT INTO stu_info(Stu_id,name,sex,birthday,address,mark,major,sdept )
VALUES(‘2007080102’,‘钱丽’,‘女’,‘1985-11-23’,‘河南安阳’,573,‘会计学’,‘会计学院’)
INSERT INTO stu_info(Stu_id,name,sex,birthday,address,mark,major,sdept )
VALUES(‘2007080201’,‘孙楠’,‘男’,‘1986-11-19’,‘河南南阳’,577,‘财务管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值