数据库实验1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、用T-SQL语句,创建一用户自定义数据类型:名称为“char20”,数据类型为varchar,

长度为20,允许为空。

提示:sp_addtype[@typename=]用户自定义类型的名字

[,@phystype=]系统类型名

[,[@nulltype=]'not null|null'][,[@owner=]'拥有该类型的用户名']

例:自定义一个名为address的类型,其所属系统类型为varchar,长度为80,不能为空。

sp_addtype address,'varchar(80)','not null'

2、用T-SQL语句,建立一个“学生课程数据库”,在此基础上建立该数据库包含的

学生表,

课程表,学生选修表,并向各表插入如下相应的数据。

学生表:Student(Sno,Sname,Ssex,Sage,Sdept)其中Sno为主键、Ssex取值为男或女、Sage

在15到30之间:

Sno Sname Ssex Sage Sdept

95001李敏勇男20CS

95002刘晨女19IS

95003王敏女18MA

95004张立男18IS

课程表:Course(Cno,Cname,Cpno,Credeit,remarks)其中Cno为主键、Teacher的类型为

char20即为用户定义的数据类型;

Cno Cname Cpno Credit Teacher

1数据库54王芳

2数学NULL2黎明

3信息系统14刘新

4操作系统63赵高

5数据结构74宋明

6数据处理NULL2张彬

7Pascal语言64李磊

学生选修表:SC(Sno,Cno,Grade)其中Sno,Cno为主键同时又为外键、Grade值在0到100;

Sno Cno Grade

实验二数据的查询、更新刘双印、徐龙琴老师设计制作

95001192

95001285

95001388

95002290

95003255

95004270

3、用T-SQL语句,修改上面所建学生课程数据库中数据:

1)向学生表:Student中加入一条记录:(95030,谢非,男,22,CS)并保存

INSERT INTO Student(Sno,Sname,Ssex,Sage,Sdept)

VALUES('95030','谢非','男',22,'CS')

2)将李敏勇的数据库的成绩改为98分

UPDATE SC

SET Grade=98

WHERE SC.Sno IN

(SELECT SC.Sno FROM Student,SC

WHERE Student.Sno=SC.Sno AND Student.Sname='李敏勇'

)AND

o IN(SELECT o FROM SC,Course

WHERE o=o AND ame='数据库')

3)删除学生表Student中谢非的记录并保存

DELETE Student

WHERE Student.Sname='谢非'

4)能不能从Student表中删除李敏勇学生的记录,为什么?能不能删除王敏,张立两个

学生的记录?

不能,因为有约束条件存在。

4、用T-SQL语句,完成下面简单的查询

1)查询全体学生的学号、姓名及年龄.

SELECT Sno,Sname,Sage

FROM Student

2)查询全体学生的姓名,年龄及所在系(要用小写字母表示系名,并用“系名”来表示

列名)。

SELECT Sname,Sage,LOWER(Sdept)'系名'

FROM Student

3)查询选修了课程的学生学号

SELECT Sno

FROM SC

4)查询信息系全体学生的姓名

SELECT Sname

FROM Student

WHERE Sdept='IS'

5)查询所有年龄在20岁以下的学生姓名及其年龄SELECT Sname,Sage

FROM Student

WHERE Sage<20

6)查询年龄在20到18间的学生的姓名,系别及年龄SELECT Sname,Sdept,Sage

FROM Student

WHERE Sage BETWEEN18AND20

7)查询年龄不在23到19间的学生的姓名,系别及年龄SELECT Sname,Sdept,Sage

FROM Student

WHERE Sage<19OR Sage>23

8)查询不是信息系(IS)和计算机系(CS)学生的姓名和性别SELECT Sname,Ssex,Sdept

FROM Student

WHERE NOT Sdept='IS'AND NOT Sdept='CS'

9)查询所有姓刘的学生的姓名,学号和性别

SELECT Sname,Sno,Ssex

FROM Student

WHERE Sname LIKE'刘%'

10)查询姓“张”且名为一个汉字的学生的姓名SELECT Sname

FROM Student

WHERE Sname LIKE'张_'

11)查询名字中第2个字为”敏”字的学生姓名和学号SELECT Sname,Sno

FROM Student

WHERE Sname LIKE'_敏%'

相关文档
最新文档