教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

实验二 - 数据的查询、更新

来源:网络收集 时间:2026-08-26
导读: 实验二 数据的查询、更新 徐龙琴设计制作 实验二 数据的查询、更新 一、实验目的 1、掌握用户自定义数据类型的方法 2、掌握用T-SQL语句进行数据的插入、修改、删除的方法 3、熟练掌握SELECT语句,能够运用该语句完成各种查询 二、实验要求 1、实验前做好上机

实验二 数据的查询、更新 徐龙琴设计制作

实验二 数据的查询、更新

一、实验目的

1、掌握用户自定义数据类型的方法 2、掌握用T-SQL语句进行数据的插入、修改、删除的方法 3、熟练掌握SELECT语句,能够运用该语句完成各种查询 二、实验要求 1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作; 2、能认真独立完成实训内容; 3、实验后做好实验总结,根据实验情况完成总结报告。 三、实验内容 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 ' sp_addtype char20,'varchar(20)',null 2、用T-SQL语句,建立一个“学生课程数据库”,在此基础上建立该数据库包含的学生表,课程表,学生选修表,并向各表插入如下相应的数据。 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 其中Sno 为主键、Ssex取值为男或女、Sage在15到30之间: Sno 95001 95002 95003 95004 Sname 李敏勇 刘晨 王敏 张立 Ssex 男 女 女 男 Sage 20 19 18 18 Sdept CS IS MA IS create database 学生课程数据库 create table Student ( Sno )

int primary key , Sname char(10) not null, Ssex Sage

char(2) check (Ssex in ('男','女')), smallint check(Sage between 15 and 45),

Sdept char(20) default 'CS',

实验二 数据的查询、更新 徐龙琴设计制作

insert into Student values('95001','李敏勇', '男','20', 'CS') insert into Student values('95002','刘晨', '女','19', 'IS') insert into Student values('95003','王敏', '女','18', 'MA') insert into Student values('95004','张立', '男','18', 'IS') 课程表:Course(Cno,Cname,Cpno,Credeit,remarks) 其中Cno为主键、Teacher的类型为char20即为用户定义的数据类型; Cno 1 2 3 4 5 6 7 create table Course ( ) insert into Course values('1','数据库', '5', '4', insert into Course values('2','数学', NULL, '2', insert into Course values('3','信息系统', '1', '4', insert into Course values('4','操作系统', '6', '3', insert into Course values('5','数据结构', '7', '4', insert into Course values('6','数据处理', NULL, '2', '王芳') '刘新') '刘新') '高升') '宋明') '张彬') Cno Cpno char(4) char(2) char20 primary key, , , Cname char(10) not null, Credit char(2) Teacher Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 Pascal语言 Cpno 5 NULL 1 6 7 NULL 6 Credit 4 2 4 3 4 2 4 Teacher 王芳 刘新 刘新 高升 宋明 张彬 李磊 insert into Course values('7','Pascal语言', '6', '4', '李磊') 学生选修表:SC(Sno,Cno,Grade) 其中Sno,Cno为主键同时又为外键、Grade值在0到100; Sno 95001 95001 95001 95002 95003 95004

Cno 1 2 3 2 2 2 Grade 92 85 88 90 55 70 实验二 数据的查询、更新 徐龙琴设计制作

create table SC ( )

insert into SC values('95001','1', '92') insert into SC values('95001','2', '85') insert into SC values('95001','3', '88') insert into SC values('95002','2', '90') insert into SC values('95003','2', '55') insert into SC values('95004','2', '70')

Sno Cno

int

,

,

check (Grade between 0 and 100),

char(4)

Grade int

primary key (Sno,Cno),

foreign key (Sno) references Student(Sno), foreign key (Cno) references Course(Cno)

3、用T-SQL语句,修改上面所建学生课程数据库中数据: 1) 向学生表:Student中加入一条记录:(95030,谢非,男,22,CS)并保存

insert into Student values('95030','谢非','男','22','CS')

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

select Sno from Student where Sname='李敏勇' select Cno from Course where Cname='数据库' update SC set Grade='98'

where Sno=95001 and Cno=1

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

delete from Student where Sname='谢非'

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

delete delete from Student

from Student

where Sname='李敏勇' where Sname='王敏' and Sname='张立'

实验二 数据的查询、更新 徐龙琴设计制作

4、用T-SQL语句,完成下面简单的查询 1)查询全体学生的学号、姓名及年龄.

select Sno,Sname,Sage from Student

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

select Sname,Sage,系名=LOWER(Sdept) from Student

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

select distinct 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 between 18 and 20

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

select Sname,Sdept,Sage from Student where Sage not between 19 and 23

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

select Sname ,Ssex from Student where Sdept not in('is','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 '_敏%'

12)查询所有不姓刘的学生姓名

select Sname from Student

where Sname not like ' …… 此处隐藏:2893字,全部文档内容请下载后查看。喜欢就下载吧 ……

实验二 - 数据的查询、更新.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/435429.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)