数据库上机作业

合集下载

mysql数据库实验上机作业

mysql数据库实验上机作业

以下是一个MySQL数据库实验上机作业的示例:1. 创建一个名为“students”的数据库,并选择该数据库。

```sqlCREATE DATABASE students;USE students;```2. 创建一个名为“students_table”的表,包含以下列:id(主键,自动递增),name(文本),age(整数),gender(文本),major (文本)。

```sqlCREATE TABLE students_table (id INT AUTO_INCREMENT PRIMARY KEY,name V ARCHAR(100),age INT,gender V ARCHAR(10),major V ARCHAR(100));```3. 向“students_table”表中插入一些数据。

```sqlINSERT INTO students_table (name, age, gender, major) V ALUES ('John', 20, 'Male', 'Computer Science'),('Jane', 22, 'Female', 'Mathematics'),('Bob', 21, 'Male', 'Physics');```4. 查询所有学生的信息。

```sqlSELECT * FROM students_table;```5. 查询所有年龄大于等于20岁的学生信息。

```sqlSELECT * FROM students_table WHERE age >= 20;```6. 查询所有计算机科学专业的女学生信息。

```sqlSELECT * FROM students_table WHERE major = 'Computer Science' AND gender = 'Female';```7. 更新表中某个学生的信息。

数据库上机实验题目和答案

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,ount,s.snamefrom(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

VF数据库 表单部分_上机作业1

VF数据库 表单部分_上机作业1

表单部分_上机作业1
1、请在D盘新建一个学号+名字的文件夹,如2010000000张三。

2、启动VFP后,设置工作目录到刚建的文件夹:set default to d:\ 2010000000张
三。

3、完成下面的MyForm2表单实例。

a)在命令窗口中输入命令:create form MyForm2
b)双击表单空白处,在表单的Click事件中输入代码:
thisform.hide &&隐藏表单
inkey(3) &&延时3秒
thisform.show &&显示表单
c)单击工具栏“存盘”按钮;
d)在命令窗口中输入命令:do form MyForm2,并单击表单来观察表单的执
行效果。

e)单击工具栏“设计”按钮,修改表单的Click事件代码,增加如下:thisform.circle(30,50,50,2) &&画椭圆
inkey(3) &&延时3秒
thisform.circle(30,50,50,0.5) &&画椭圆
inkey(3) &&延时3秒
thisform.release &&从内存中释放表单,即关闭表单。

5、关闭VFP,打开D盘,右击你的文件夹,单击添加到“XX的rar”选项,登陆到网络教学平台的作业,以附件形式把您的压缩包文件上交。

数据库上机作业

数据库上机作业
5.有选课成绩但学分不到6分的学生的学号及学分总数。
6.建表co,插入课程学分平均分在5分以上的系的系号和平均分。
答案:
/*1 select sum(grade),avg(grade)
from sc
where cno='e001'*/
/*2 select dno,count(*)
from class
8.将系表中的“数信”系删除。
/* selecBiblioteka * from dept delete from dept
where dname= 'ma'*/
9.建立一个新表,存放成绩在86分以上的学生的学号,课程号和成绩。
/*create table abc(Sno char(10),Cno char(10), grade int)
/*7 select sname,avg(grade) from sc,student
where grade>60 and sc.sno=student.sno
group by sname */
where clnum>2*/
/*5 select sno,sum(ccre)
from sc,couse
where o=o and grade>=0 or ccre<6
group by sno*/
/*6 create table co(cno char(10),avge int)
3.将学分统一降低1分。
/* select * from couse
update couse
set ccre=ccre-1*/
4.为每个班级增加5名同学。

ACCESS数据库上机练习加答案解析

ACCESS数据库上机练习加答案解析

全国计算机等级考试二级上机题库I第1套题目一、基本操作题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。

考生文件夹下存在一个数据库文件“samp1.mdb”,里面已经设计好表对象“tStud”。

请按照以下要求,完成对表的修改:(1)设置数据表显示的字体大小为14、行高为18。

(2)设置“简历”字段的设计说明为“自上大学起的简历信息”。

(3)将“年龄”字段的数据类型改为“整型”字段大小的数字型。

(4)将学号为“20011001”学生的照片信息换成考生文件夹下的“photo.bmp”图像文件。

(5)将隐藏的“党员否”字段重新显示出来。

(6)完成上述操作后,将“备注”字段删除。

二、简单应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。

考生文件夹下存在一个数据库文件“samp2.mdb”,里面已经设计好三个关联表对象“tStud”、“tCourse”、“tScore”和一个临时表对象“tTemp”。

试按以下要求完成设计:(1)创建一个查询,按所属院系统计学生的平均年龄,字段显示标题为“院系”和“平均年龄”,所建查询命名为“qT1”。

(2)创建一个查询,查找选课学生的“姓名”和“课程名”两个字段内容,所建查询命名为“qT2”。

(3)创建一个查询,查找有先修课程的课程相关信息,输出其“课程名”和“学分”两个字段内容,所建查询命名为“qT3”。

(4)创建删除查询,将表对象“tTemp”中年龄值高于平均年龄(不含平均年龄)的学生记录删除,所建查询命名为“qT4”。

三、综合应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。

数据库上机作业(学生学籍管理)

数据库上机作业(学生学籍管理)

上机实验-1Access2003基本操作一、实验目的1.掌握Access2003数据库的构成;2.熟悉Access2003的用户界面。

二、实验内容在Access2003中打开罗斯文示例数据库,结合该数据库来了解Access 数据库的构成,并熟悉Access2003的用户界面。

1.单击“开始”按钮,指向“程序”,然后单击“Microsoft Access”,启动Access2003。

2.在启动对话框中,单击“打开已有文件”下的“罗斯文示例数据库”。

罗斯文示例数据库通常位于“Program Files\Microsoft Office\Office\Samples”文件夹中,文件名为“Northwind.mdb”。

3.在“数据库”窗口中,单击“对象”栏下的“表”,单击“产品”表对象,然后单击“数据库”窗口的工具栏上的“打开”按钮,在“数据表”视图中查看表中的数据记录。

4.从“视图”菜单中选择“设计视图”命令,以切换到设计视图下,查看表中各个字段的定义,例如字段名、数据类型、字段大小等,然后关闭设计视图窗口。

5.在“数据库”窗口中单击“对象”栏下的“查询”,单击“各类产品”查询对象,然后单击“数据库”窗口工具栏上的“打开”按钮,在“数据表”视图下查看运行查询所返回的记录集合。

6.从“视图”菜单中选择“设计视图”命令,以查看创建和修改查询时的用户界面。

7.从“视图”菜单中选择“SQL视图”命令,以查看创建查询时所生成的SQL语句,然后关闭SQL视图窗口。

8.在“数据库”窗口中单击“对象”栏下的“窗体”,单击“产品”窗体对象,然后单击“数据库”窗口工具栏上的“打开”按钮,在窗体视图下查看窗体的运行结果,并单击窗体下方的箭头按钮,在不同记录之间移动。

9.从“视图”菜单中选择“设计视图”命令,以查看设计窗体时的用户界面。

10.从“视图”菜单中选择“数据表视图”命令,以查看存储在基础表中的数据记录,然后关闭数据表视图窗口。

数据库上机实验

数据库上机实验

实验一数据表的建立一、实验目的:熟悉Access 2000的操作环境,并了解关系数据库中关系在Access 2000中的表示——数据表,同时掌握数据表建立的不同方法。

二、实验要求:1.掌握Access 2000的启动和退出;2.了解Access 2000的特性;3.熟悉Access 2000的操作界面、窗口组成各元素;4.掌握Access 2000中建立、保存数据库的方法;5.掌握Access 2000中打开数据库的方法;6.掌握在Access 2000数据库中建立数据表的方法;7.掌握数据表中字段属性的设置和修改;8.掌握数据表中数据的输入、修改、添加、删除;9.掌握在Access 2000数据表的两种视图。

三、实验内容:1、启动Access 2000;2、打开已有的数据库文件(如“罗斯文示例数据库”);3、熟悉Access的操作环境,了解其窗口组成各元素;4、通过帮助了解Access 2000的功能和新特性;5、在Access 2000中新建一个SPJ数据库,并在其中用三种不同的方法(数据表视图、表向导、设计视图)新建S、P、J、SPJ四个数据表,各表结构及内容见下页;6、根据表中数据设置各字段的类型及大小,并设置S、P、J表的主键分别为SNO、PNO、JNO,SPJ表的主键为SNO+PNO+JNO,这些字段不能取空值、而且各记录的值互不相同;7、为S表的CITY字段设置有效性规则,限定其输入的城市只能为“天津”、“北京”、“上海”之一;为SPJ表的QTY字段设置有效性规则,限定其输入的数量在100~900之间;8、按表格所示内容输入各表数据;9、练习表中记录的浏览、修改、插入、删除;10、退出Access。

四、实验步骤:1、启动Access 2000在Windows中单击“开始/程序/Microsoft Access”命令即可启动Access,如图1-1所示。

启动Access后,即可看到一个初始对话框出现,如图1-2所示。

数据库上机报告

数据库上机报告

数据库上机报告一、实验目的本次实验旨在让学生熟悉基本的SQL语句,了解数据库的基本概念,掌握数据库设计的基本思路和方法。

二、实验环境1.软件环境:操作系统:Windows 10数据库:MySQL编辑器:Navicat2.硬件环境:CPU:Intel Core i5内存:8GB三、实验步骤1.创建数据库和数据表使用Navicat连接MySQL数据库,在Query Editor中输入以下SQL语句创建数据库和数据表:CREATE DATABASE experiment;USE experiment;CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(20),age INT,gender VARCHAR(2),);2.插入数据在Query Editor中输入以下SQL语句插入数据:INSERT INTO student(id,name,age,gender) VALUES(1,'Tom',22,'男'),(2,'Lucy',20,'女'),(3,'Mike',25,'男'),(4,'Susan',23,'女');3.查询数据在Query Editor中输入以下SQL语句查询数据:SELECT * FROM student;4.更新数据在Query Editor中输入以下SQL语句更新数据:UPDATE student SET age=26 WHERE name='Mike';5.删除数据在Query Editor中输入以下SQL语句删除数据:DELETE FROM student WHERE name='Susan';四、实验总结通过本次实验,我掌握了SQL语句的基本使用方法,了解了数据库的基本概念,学会了使用Navicat进行数据库操作。

数据库上机实习报告

数据库上机实习报告

一、实习背景随着计算机技术的不断发展,数据库技术已经成为现代信息技术中不可或缺的一部分。

为了使我对数据库技术有更深入的了解,提高我的实际操作能力,我参加了本次数据库上机实习。

本次实习主要基于SQL Server数据库管理系统,通过实际操作,使我掌握了数据库的基本概念、设计方法以及SQL语言的使用。

二、实习目的1. 熟悉数据库管理系统的基本操作,包括数据库的创建、修改、删除等。

2. 掌握数据库设计的基本方法,包括实体-联系模型、关系模型等。

3. 学会使用SQL语言进行数据库的查询、插入、删除、更新等操作。

4. 提高数据库的实际应用能力,为今后的工作打下基础。

三、实习内容1. 数据库管理系统简介数据库管理系统(Database Management System,简称DBMS)是一种软件系统,用于管理数据库中的数据。

常见的数据库管理系统有SQL Server、MySQL、Oracle 等。

本实习主要使用SQL Server数据库管理系统。

2. 数据库设计数据库设计是数据库应用开发过程中的重要环节,主要包括以下步骤:(1)需求分析:了解用户对数据库的需求,包括数据类型、数据量、数据之间的关系等。

(2)概念设计:根据需求分析结果,设计实体-联系模型,描述实体及其之间的关系。

(3)逻辑设计:将概念设计转换为关系模型,确定表结构、字段类型、约束等。

(4)物理设计:根据逻辑设计结果,确定数据库的存储结构,如索引、分区等。

3. 数据库操作(1)创建数据库:使用CREATE DATABASE语句创建数据库。

(2)修改数据库:使用ALTER DATABASE语句修改数据库。

(3)删除数据库:使用DROP DATABASE语句删除数据库。

(4)创建表:使用CREATE TABLE语句创建表。

(5)修改表:使用ALTER TABLE语句修改表。

(6)删除表:使用DROP TABLE语句删除表。

(7)插入数据:使用INSERT INTO语句插入数据。

数据库上机实验报告范文

数据库上机实验报告范文

数据库上机实验报告范文《数据库技术与应用》姓名:某某某学号:某某某专业班级:某某某完成时间:某某某一、概述通过前八周对数据库的学习,我们学生对此已有一定了解,之后我们需要通过对书本知识的理解,加上自己的积极实践,做出属于自己的数据库,以加深对该学科的认识。

我这次建立的数据库是学生成绩查询数据库。

建立这个数据库主要的目的是对部分同学们个人信息以及高考成绩、考试成绩(笔试和机试)情况存储和查询系统。

其中包括姓名,民族,出生年月日,准考证号,高考成绩,笔试及机试成绩等个人信息。

通过创建该简单的数据库,来实践上课老师所讲解的内容。

该数据库包括的内容有:1.表:本数据库包含六个表对象分别是:考生基本情况,考生简况,考试成绩表,口令表和学生基本情况表,学校简况表。

其中分别以不完全相同的字段为主键。

2.查询:本数据库一共包含十个查询分别是:参数查询、SQL查询、分组汇总查询、汇总查询、学生成绩查询、学生成绩组合模糊查询、学生高考成绩表、学生基本情况表-交叉、表学生基本情况表-交叉表1总分大于180。

3.窗体:本数据库一共包含十个窗体。

其中有考生基本情况主子窗体、考试成绩、学生成绩查询、学校简介表、学生基本情况窗体等等查询窗体。

4报表:本数据库一共包含四个报表分别是:考生基本情况主子报5.宏:创建了几个简单的宏。

二、主要上机实验内容1.创建数据库通过点击进入数据库软件,点击“创建空白数据库”,取名为“学生成绩查询系统”,完成数据库的创建。

数据库主要实现的功能为学生信息、学生成绩的查询等。

2.建立创建数据库所需要建立的各种表通过不同的的方法建立以下部分表,如下所示:通过使用设计器创建表,创建以下几个相关表,相关表结构的设计及个字段属性如下图范例所示:创建出如下:(1)考生基本情况表(2)考试成绩表(3)学生基本情况表(4)学校简况表等表格考生基本情况表考试成绩表学生基本情况表学校简况表3.分别以不同的方式建立查询,可以实现对学生基本信息及成绩的检索查询。

数据库上机习题及答案

数据库上机习题及答案

数据库上机习题及答案 Revised by Liu Jing on January 12, 2021数据库及应用复习题一、设计题有一个[学生课程]数据库,数据库中包括三个表:学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。

课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。

成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为: SG(Sno,Cno,Grade) (SNO, CNO)为关键字。

用SQL语言实现下列功能:1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。

2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。

3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

4.查询学习1号课程的学生最高分数、平均成绩。

5.查询与“李洋”在同一个系学习的学生。

6.将计算机系全体学生的成绩置零。

7.删除学号为05019的学生记录。

8.删除计算机系所有学生的成绩记录。

1.CREATETABLE Student(Sno CHAR(5) NOT NULL UNIQUE,Sname CHAR(20),Ssex CHAR(2),Sage INT,Sdept CHAR(15))2.ALTER TABLE Student ADD Scome DATETIME 3.SELECT Sno, GradeFROM SGWHERE Cno='3'ORDER BY Grade DESC4.SELECT MAX(Grade), AVG(Grade)FROM SCWHERE Cno='1'5.SELECT Sno, Sname, SdeptFROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname='李洋')6. UPDATE SGSET Grade=0WHERE Sno in( SELECT Sno FROM StudentWHERE Sdept = '计算机系')7.DELETE FROM StudentWHERE Sno='05019'8. DELETE FROM SGWHERE Sno in( SELECT Sno FROM StudentWHERE Sdept = '计算机系')二、设计题现有关系数据库如下:数据库名:教师数据库教师表(编号 char(6),姓名,性别,民族,职称,身份证号)课程表(课号 char(6),名称)任课表(ID,教师编号,课号,课时数)用SQL语言实现下列功能的sql语句代码:1. 创建上述三表的建库、建表代码(14分);要求使用:主键(教师表.编号,课程表.课号)、外键(任课表.教师编号,任课表.课号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别、课时数),自动编号(ID)2. 将下列课程信息添加到课程表的代码(6分)课号课程名称100001 SQL Server数据库100002 数据结构100003 VB程序设计修改课号为100003的课程名称:Visual Basic程序设计删除课号为100003的课程信息3. 写出创建[任课表视图](教师编号,姓名,课号,课程名称,课时数)的代码;(4分)4. 写出创建[某门课任课教师]内嵌表值函数以及检索的代码;(6分)检索:所有代'SQL Server数据库'这门课程的老师姓名;5. 写出创建[统计课时数]:输出最大课时数、最低课时数、平均课时的存储过程以及执行代码;(6分)6.写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。

mysql上机练习题

mysql上机练习题

mysql上机练习题MySQL是一种常用的关系型数据库管理系统,广泛应用于开发和管理各种数据库。

本文将为大家提供一些MySQL上机练习题,以帮助读者巩固和提升自己的MySQL技能。

题目一:创建数据库和数据表在MySQL中创建一个名为"student"的数据库,并在该数据库中创建一个名为"score"的数据表。

数据表包括以下字段:字段名数据类型备注id int 学号name varchar 姓名chinese int 语文成绩math int 数学成绩english int 英语成绩题目二:插入数据向上述的"score"数据表中插入以下数据:学号姓名语文成绩数学成绩英语成绩1 小明 90 85 922 小红 78 92 883 小亮 85 90 95题目三:查询数据从"score"数据表中查询所有学生的姓名和数学成绩。

题目四:更新数据将学号为2的学生英语成绩修改为90。

题目五:删除数据从"score"数据表中删除学号为3的学生。

题目六:查询统计数据查询"score"数据表中语文成绩大于等于90分的学生数量。

题目七:排序数据按照数学成绩从高到低的顺序,查询"score"数据表中的所有学生信息。

题目八:连接查询创建一个名为"course"的数据表,包括以下字段:字段名数据类型备注id int 课程编号name varchar 课程名称将下列数据插入到"course"数据表中:课程编号课程名称1 语文2 数学3 英语通过连接查询,查询"score"数据表中各个学生的姓名、课程名称和成绩。

题目九:使用函数查询"score"数据表中各个学生的总成绩,按照总成绩从高到低排序。

题目十:使用子查询查询"score"数据表中成绩最高的学生姓名和各科成绩。

Access数据库上机练习加答案及解析

Access数据库上机练习加答案及解析

WORD 格式整理版优质.参考.资料第1套题目 一、基本操作题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。

考生文件夹下存在一个数据库文件“samp1.mdb ”,里面已经设计好表对象“tStud ”。

请按照以下要求,完成对表的修改:(1)设置数据表显示的字体大小为14、行高为18。

(2)设置“简历”字段的设计说明为“自上大学起的简历信息”。

(3)将“年龄”字段的数据类型改为“整型”字段大小的数字型。

(4)将学号为“20011001”学生的照片信息换成考生文件夹下的“photo.bmp”图像文件。

(5)将隐藏的“党员否”字段重新显示出来。

(6)完成上述操作后,将“备注”字段删除。

二、简单应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。

考生文件夹下存在一个数据库文件“samp2.mdb ”,里面已经设计好三个关联表对象“tStud ”、“tCourse ”、“tScore ”和一个临时表对象“tTemp ”。

试按以下要求完成设计:(1)创建一个查询,按所属院系统计学生的平均年龄,字段显示标题为“院系”和“平均年龄”,所建查询命名为“qT1”。

(2)创建一个查询,查找选课学生的“姓名”和“课程名”两个字段内容,所建查询命名为“qT2”。

(3)创建一个查询,查找有先修课程的课程相关信息,输出其 “课程名”和“学分”两个字段内容,所建查询命名为“qT3”。

(4)创建删除查询,将表对象“tTemp ”中年龄值高于平均年龄(不含平均年龄)的学生记录删除,所建查询命名为“qT4”。

三、综合应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。

数据库上机实验

数据库上机实验

附录C 上机实验C.1 第4章上机实验下列实验均使用SQL Server 的SSMS工具实现..1.用图形化方法创建符合如下条件的数据库创建数据库的方法可参见本书附录A:数据库名为:学生数据库主要数据文件的逻辑文件名为:Students_data;存放在D:\Data文件夹下若D:盘中无此文件夹;请先建立此文件夹;然后再创建数据库..;初始大小为:5MB;增长方式为自动增长;每次增加1MB..日志文件的逻辑文件名字为:Students_log;也存放在D:\Data文件夹下;初始大小为:2MB;增长方式为自动增长;每次增加10%.. 2.选用已建立的“学生数据库”;写出创建满足表C-1到4-4条件的表的SQL 语句;并执行所写代码..注:“说明”部分不作为表定义内容列名说明数据类型约束Sno学号普通编码定长字符串;长度为7主键Sname姓名普通编码定长字符串;长度为10非空Ssex性别普通编码定长字符串;长度为2取值范围:{男;女}Sage年龄微整型tinyint取值范围:15-45Sdept所在系普通编码不定长字符串;长度为20默认值为“计算机系”Sid身份证号普通编码定长字符串;长度为10取值不重3. 写出实现如下功能的SQL语句;并执行所写代码;查看执行结果..(1)在Teacher表中添加一个职称列;列名为:Title;类型为nchar4..(2)为Teacher表中的Title列增加取值范围约束;取值范围为:{教授;副教授;讲师}..(3)将Course表中Credit列的类型改为:tinyint..(4)删除Student表中的Sid和Sdate列..(5)为Teacher表添加主键约束;其主键为:Tno..C.2 第5章上机实验本实验均在SQL Server 的SSMS工具中实现..首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表;并插入表5-4~5-6所示数据;然后编写实现如下操作的SQL语句;执行所写的语句;并查看执行结果..1.查询SC表中的全部数据..2.查询计算机系学生的姓名和年龄..3.查询成绩在70~80分的学生的学号、课程号和成绩..4.查询计算机系年龄在18~20岁的男生姓名和年龄..5.查询C001课程的最高分..6.查询计算机系学生的最大年龄和最小年龄..7.统计每个系的学生人数..8.统计每门课程的选课人数和最高成绩..9.统计每个学生的选课门数和考试总成绩;并按选课门数升序显示结果..10.列出总成绩超过200的学生的学号和总成绩..11.查询选了C002课程的学生姓名和所在系..12.查询考试成绩80分以上的学生姓名、课程号和成绩;并按成绩降序排列结果..13.查询与VB在同一学期开设的课程的课程名和开课学期..14.查询与李勇年龄相同的学生的姓名、所在系和年龄..15.查询哪些课程没有学生选修;列出课程号和课程名..16.查询每个学生的选课情况;包括未选课的学生;列出学生的学号、姓名、选的课程号..17.查询计算机系哪些学生没有选课;列出学生姓名..18.查询计算机系年龄最大的三个学生的姓名和年龄..19.列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩..20.查询选课门数最多的前2位学生;列出学号和选课门数..21.查询计算机系学生姓名、年龄和年龄情况;其中年龄情况为:如果年龄小于18;则显示“偏小”;如果年龄在18-22;则显示“合适”;如果年龄大于22;则显示“偏大”..22.统计每门课程的选课人数;包括有人选的课程和没有人选的课程;列出课程号;选课人数及选课情况;其中选课情况为:如果此门课程的选课人数超过100人;则显示“人多”;如果此门课程的选课人数在40~100;则显示“一般”;如果此门课程的选课人数在1~40;则显示“人少”;如果此门课程没有人选;则显示“无人选”..23.查询计算机系选了VB课程的学生姓名、所在系和考试成绩;并将结果保存到新表VB_Grade中..24.统计每个系的女生人数;并将结果保存到新表Girls中..25.用子查询实现如下查询:1查询选了“C001”课程的学生姓名和所在系..2查询通信工程系成绩80分以上的学生的学号和姓名..3查询计算机系考试成绩最高的学生的姓名..4查询年龄最大的男生的姓名、所在系和年龄..26.查询C001课程的考试成绩高于该课程平均成绩的学生的学号和成绩..27.查询计算机系学生考试成绩高于计算机系学生平均成绩的学生的姓名、考试的课程名和考试成绩..28.查询VB课程考试成绩高于VB平均成绩的学生姓名和VB成绩..29.查询没选VB的学生姓名和所在系..30.查询每个学期学分最高的课程信息;列出开课学期、课程名和学分..31.查询每门课程考试成绩最高的学生信息;列出课程号、学生姓名和最高成绩;结果按课程号升序排序;不包括没考试的课程..32.创建一个新表;表名为test;其结构为COL1; COL 2; COL 3;其中;COL1:整型;允许空值..COL2:普通编码定长字符型;长度为10;不允许空值..COL3:普通编码定长字符型;长度为10;允许空值..试写出按行插入如下数据的语句空白处表示是空值..33.利用23题建立的VB_Grade表;将信息管理系选了VB课程的学生姓名、所在系和考试成绩插入到VB_Grade表中..34.将所有选修C001课程的学生的成绩加10分..35.将计算机系所有学生的“计算机文化学”的考试成绩加10分..36.修改“VB”课程的考试成绩;如果是通信工程系的学生;则增加10分;如果是信息管理系的学生则增加5分;其他系的学生不加分..37.删除成绩小于50分的学生的选课记录..38.删除计算机系VB考试成绩不及格学生的VB选课记录..39.删除“VB”考试成绩最低的学生的VB修课记录..40.删除没人选的课程的基本信息..C.3 第6章上机实验下列实验均使用SQL Server 的SSMS工具实现..利用第4章上机实验创建的“学生数据库”中Student、Course和SC表;完成下列实验..1.写出实现下列操作的SQL语句;并执行所写代码..1在Student表上为Sname列建立一个聚集索引;索引名为:IdxSno..提示:若执行创建索引的代码;请先删除该表的主键约束2在Course表上为Cname列建立一个唯一的非聚集索引;索引名为:IdxCN3在SC表上为Sno和Cno建立一个组合的聚集索引;索引名为:IdxSnoCno..提示:若执行创建索引的代码;请先删除该表的主键约束4删除Sname列上建立的IdxSno索引..2.写出创建满足下述要求的视图的SQL语句;并执行所写代码..1查询学生的学号、姓名、所在系、课程号、课程名、课程学分..2查询学生的学号、姓名、选修的课程名和考试成绩..3统计每个学生的选课门数;要求列出学生学号和选课门数..4统计每个学生的修课总学分;要求列出学生学号和总学分说明:考试成绩大于等于60才可获得此门课程的学分..3.利用第2题建立的视图;完成如下查询..1查询考试成绩大于等于90分的学生的姓名、课程名和成绩..2查询选课门数超过3门的学生的学号和选课门数..3查询计算机系选课门数超过3门的学生的姓名和选课门数..4查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分..5查询年龄大于等于20岁的学生中;修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分..4.修改第3题4定义的视图;使其查询每个学生的学号、总学分以及总的选课门数..C.4 第7章上机实验利用第5章建立的学生数据库以及Student、Coures和SC表;完成下列操作..1.创建满足如下要求的后触发型触发器..1限制学生的考试成绩必须在0-100之间..2限制不能删除成绩不及格的考试记录..3限制每个学期开设的课程总学分不能超过20..4限制每个学生每学期选的课程不能超过5门..2.创建满足如下要求的存储过程..1查询每个学生的修课总学分;要求列出学生学号及总学分..2查询学生的学号、姓名、修的课程号、课程名、课程学分;将学生所在的系作为输入参数;执行此存储过程;并分别指定一些不同的输入参数值..3查询指定系的男生人数;其中系为输入参数;人数为输出参数..4删除指定学生的修课记录;其中学号为输入参数..5修改指定课程的开课学期..输入参数为:课程号和修改后的开课学期..C.5 第11章上机实验利用第4、5章建立的学生数据库和其中的Student、Course、SC表;并利用SSMS工具完成下列操作..1.用SSMS工具建立SQL Server身份验证模式的登录名:log1、log2和log3..2.用log1建立一个新的数据库引擎查询;在“可用数据库”下列列表框中是否能选中学生数据库为什么3.用系统管理员身份建立一个新的数据库引擎查询;将log1、log2和log3映射为学生数据库中的用户;用户名同登录名..4.在log1建立的数据库引擎查询中;现在在“可用数据库”下列列表框中是否能选中学生数据库为什么5.在log1建立的数据库引擎查询中;选中学生数据库;执行下述语句;能否成功为什么SELECT FROM Course6.在系统管理员的数据库引擎查询中;执行合适的授权语句;授予log1具有对Course表的查询权限;授予log2具有对Course表的插入权限..7.用log2建立一个新的数据库引擎查询;执行下述语句;能否成功为什么INSERT INTO Course VALUES'C1001';'数据库基础';4;5再执行下述语句;能否成功为什么SELECT FROM Course8.在log1建立的数据库引擎查询中;再次执行下述语句:SELECT FROM Course这次能否成功但如果执行下述语句:INSERT INTO Course VALUES'C103'; '软件工程'; 4; 5能否成功为什么9.log3建立一个新的数据库引擎查询;执行下述语句;能否成功为什么CREATE TABLE NewTableC1 int;C2 char410.授予log3在学生数据库中具有创建表的权限..11.在系统管理员的数据库引擎查询中;执行下述语句:GRANT CREATE TABLE TO log3GOCREATE SCHEMA log3 AUTHORIZATION log3GOALTER USER log3 WITH DEFAULT_SCHEMA = log312.在log3建立一个新的数据库引擎查询中;再次执行第9题的语句;能否成功为什么如果执行下述语句:SELECT NewTable能否成功为什么。

数据库上机实验题(七、八、九)

数据库上机实验题(七、八、九)

上机实验题7相关知识:第14章。

目的:通过本实验,掌握使用函数和存储过程的设计和使用方法。

实验内容:编写满足如下各功能的程序:(1)在Library数据库中创建一个标量值函数Sum(n),求1+2+…+n之和。

并用相关数据进行测试。

(2)在Library数据库中创建一个内联表值函数nbook,返回指定系的学号、姓名、班号、所借图书名和借书日期。

并用相关数据进行测试。

(3)在Library数据库中创建一个多语句表值函数pbook,返回系名和该系所有学生所借图书的平均价格。

并用相关数据进行测试。

(4)设计一个存储过程,查询每种图书品种的数目。

并用相关数据进行测试。

(5)设计一个存储过程,采用模糊查询方式查找借阅指定书名的学生,输出学号、姓名、班号和书名。

并用相关数据进行测试。

设计过程:(1)对应的参考程序如下:USE LibraryGOIF EXISTS(SELECT * FROM sysobjectsWHERE name='Sum' AND type='FN') --如果存在这样的函数则删除之 DROP FUNCTION SumGOCREATE FUNCTION Sum(@n int) --输入参数RETURNS intASBEGINDECLARE @s int,@i intSET @s=0SET @i=1WHILE @i<=@nBEGINSET @s=@s+@iSET @i=@i+1ENDRETURN(@s)ENDGOPRINT '1+2+...+60='+CAST(dbo.Sum(60) AS char(10))GO(2)对应的参考程序如下:USE LibraryGOIF EXISTS(SELECT * FROM sysobjects --如果存在这样的函数则删除之WHERE name='nbook' AND (type='IF' OR type ='TF'))DROP FUNCTION nbookGOCREATE FUNCTION nbook(@dname char(16))--建立函数nbookRETURNS TABLE --返回表,没有指定表结构,这是内联表值函数的特征ASRETURN(SELECT s.学号,s.姓名,s.班号,b.图书名,bor.借书日期FROM student s,depart sc,borrow bor,book bWHERE s.班号=sc.班号 AND s.学号=bor.学号 AND b.图书编号=bor.图书编号 AND sc.系名=@dname)GOSELECT *FROM nbook('计算机系')ORDER BY 学号GO(3)对应的参考程序如下:USE LibraryGOIF EXISTS(SELECT * FROM sysobjects --如果存在这样的函数则删除之WHERE name='pbook' AND (type='IF' OR type ='TF'))DROP FUNCTION pbookGOCREATE FUNCTION pbook() --建立函数pbookRETURNS @st TABLE(系名 char(16),平均价格 decimal(4,1))ASBEGININSERT @st --向@st中插入满足条件的记录SELECT sc.系名 AS '系名',AVG(b.定价) AS '平均价格'FROM depart sc,student s,book b,borrow borWHERE s.班号=sc.班号 AND s.学号=bor.学号 AND b.图书编号=bor.图书编号GROUP BY sc.系名RETURNENDGOSELECT * FROM pbook()GO(4)对应的参考程序如下:USE LibraryGO--若存在存储过程proc1,则删除之IF EXISTS(SELECT * FROM sysobjects WHERE name='proc1'AND type='P')DROP PROCEDURE proc1GO--创建存储过程proc1CREATE PROCEDURE proc1ASSELECT 图书名 AS '书名',COUNT(*) AS '数目'FROM bookGROUP BY 图书名GOEXEC proc1(5)对应的参考程序如下:USE LibraryGO--若存在存储过程proc2,则删除之IF EXISTS(SELECT * FROM sysobjects WHERE name='proc2' AND type='P')DROP PROCEDURE proc2GO--创建存储过程proc2CREATE PROCEDURE proc2(@bn char(16))ASDECLARE @pt char(16)SET @pt='%'+RTRIM(@bn)+'%'SELECT s.学号,s.姓名,s.班号,b.图书名FROM student s,book b,borrow borWHERE s.学号=bor.学号 AND b.图书编号=bor.图书编号AND b.图书名 LIKE @ptORDER BY s.班号GOEXEC proc2 '数'上机实验题8相关知识:第15章。

数据库上机实验五篇范文

数据库上机实验五篇范文

数据库上机实验五篇范文第一篇:数据库上机实验创建数据表与数据输入Part I.使用SQL Server Management Studio创建数据表和输入数据 1.在SQL Server Management Studio中创建数据表 P69 1.(1)-(6)2.为数据表输入数据 P76 4.(1)-(4)3.数据浏览P771.(1)-(2)2.(1)-(3)Part II.使用SQL语句创建数据表和输入数据 1.使用SQL语句创建数据表 P72.例3-22.使用SQL语句输入数据 P82.例3.8习题:P.105(1)(2)insert 数据操作Insert、Update、DeleteP105 3.上机练习题(2)(4)Insert(100001, 1000, 2002-12-18 0:00:00)(100002, 2000, 2010-3-20 0:00:00)Update(100001, 1500, 2002-12-18 0:00:00)(100002, 2000, 2012-9-25 0:00:00)Delete Transact-SQL语句基础1 1.将teaching数据库中score 表的studentno列设置为引用表student的外键。

ALTER TABLE Score ADD CONSTRAINT FK_score_student FOREIGN KEY(studentno)REFERENCES student(studentno)2.将teaching数据库中class表的classname创建UNIQUE约束。

ALTER TABLE class ADD CONSTRAINT UQ_class UNIQUE(classname)执行如下插入语句,查看提示信息INSERT INTO class VALUES(‘090602’, ’计算机0902’, ’计算机学院’, ’马文斐’)3.为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。

数据库上机作业

数据库上机作业

语句查询(cháxún)数据(二)——汇总(huìzǒng)查询【实验(shíyàn)内容】1) 打开(dǎ kāi)“SQL Server Management Studio”窗口(chuāngkǒu)。

2) 单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口3)在窗口中输入以下SQL查询命令并执行:a.在KC表中,统计每学期的总分数use xscjselect开课学期,COUNT(学分)as总学分from kcb.在XS_KC表中统计每个学生的选修课程的门数use xscjselect学号,count(课程号)as选修的课程门数from xs_kcc.统计KC表中的总学分,并显示明细信息use xscjselect*from kcorder by 总学分d.按开课学期统计KC表中各期的学分,并显示明细信息use xscjselect课程名,开课学期,学分from kcgroup by开课学期e.将XS_KC表中的数据记录按学号分类汇总,输出学号和平均分use xscjselect学号,avg(学分)as平均分from xs_kcgroup by学号f.查询平均分大于70且小于80的学生学号和平均分use xscjselect学号,AVG(学分)as平均分from xs_kcgroup by学号having AVG(学分)>70 and Avg(学分)<=80g.查询XS_KC表,输出学号、课程号、成绩,并使查询结果首先(shǒuxiān)按照课程号的升序排列,当课程号相同时再按照成绩降序排列,并将查询结果保存到新表TEMP_KC中use xscjselect学号,课程(kèchéng)编号,成绩(chéngjì)into TEMP_KCfrom xs_kcorder by课程(kèchéng)编号asc,成绩(chéngjì)descselect*from TEMP_KCh.查询选修了“101”课程的学生的最高分和最低分use xscjselect top 1 *from教学成绩表where课程编号='101'order by分数descuse xscjselect top 1 *from教学成绩表where课程编号='101'order by分数或者:use xscjselect课程号,MAX(成绩)as最高分,MIN(成绩)as最低分from xs_kcgroup by课程号having课程号='101'i.统计每个学期所开设的课程门数use xscjselect 开课学期,count(*)as 课程门数from kcgroup by开课学期j.查询各专业的学生人数use xscjselect专业,count(学号)as学生人数from xsqkgroup by专业使用Select 语句查询(cháxún)数据(三)——连接(liánjiē)查询和子查询【实验(shíyàn)内容】1) 打开(dǎ kāi)“SQL Server Management Studio”窗口(chuāngkǒu)。

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

2011年11月21日上机作业
1利用T-SQL语句,对教学库完成下列查询。

(1)检索所有姓王的学生的姓名和年龄。

(2)检索成绩为空值的学生学号和课程号。

(3)统计有学生选修的课程门数。

(4)统计每门课程的学生选修人数,超过3人的课程才统计,要求输出课程号和选修人数。

(5)检索选修2门以上课程的学生平均成绩(不统计不及格的课程)。

6、利用T-SQL语句,对仓库数据库完成下列查询。

(1)查询青岛海尔生产的商品信息。

(2)查询001号仓库储存的商品的编号和数量。

(3)查询所有商品的种类名称。

|
(4)查询商品的单价在2000到3000之间的商品信息。

(5)查询所有商品的信息,其中单价打八折显示。

(6)查询青岛海尔和青岛海信生产的商品的信息。

(7)查询不是青岛生产的商品的信息。

--第一题
(1)
USE 教学库
SELECT 姓名,年龄
FROM 学生
WHERE 姓名 like '王%'

(2)
USE 教学库
SELECT 学生号,课程号
FROM 选课
WHERE 成绩 IS NULL
(3)
USE 教学库
SELECT COUNT (DISTINCT 课程号) AS 课程门数
FROM 选课

(4)
USE 教学库
SELECT 课程号, COUNT (课程号)选修人数
FROM 选课
GROUP BY 课程号
HAVING COUNT (课程号)>=3
(5)
USE 教学库
SELECT 学生号,COUNT (学生号)所选课程数,AVG(成绩) AS 平均成绩
FROM 选课
~
WHERE 成绩>=60
GROUP BY 学生号
HAVING COUNT (学生号)>=2
--第六题
(1)
USE 仓库库存
SELECT *
FROM 商品
WHERE 生产商='青岛海尔'
"
(2)
USE 仓库库存
SELECT 商品编号,数量
FROM 库存情况
WHERE 仓库编号='001'
(3)
USE 仓库库存SELECT DISTINCT 商品名称
FROM 商品

(4)
USE 仓库库存
SELECT *
FROM 商品
WHERE 单价>=2000 AND 单价<=3000
(5)
USE 仓库库存
SELECT 商品编号,商品名称,单价=单价*,生产商
FROM 商品
~
(6)
USE 仓库库存
SELECT *
FROM 商品
WHERE 生产商='青岛海尔' or 生产商='青岛海信'
(7)
USE 仓库库存
SELECT *
FROM 商品
WHERE 生产商 not like '青岛%'

11月24日作业
2011年11月24日上机作业
1.针对“教学库”中的三个表,用T-SQL的查询语句实现下列查询:
(1)求选修C4课程的学生的平均年龄。

(2)求学分为3的每门课程的平均成绩。

(3)检索学生姓名及其所选修课程的课程号和成绩。

(4)求年龄大于女同学平均年龄的男学生姓名和年龄。

(5)检索选修2门及以上课程的学生平均成绩只取前五名。

2.针对“仓库库存数据库”中的三个表,实现下列查询:
(1)查询所有商品的生产厂家的信息(去掉重复行)。

(2)统计平均价格高于3000的各种商品(相同商品名的为一种)的平均价格。

~
(3)查询南京熊猫生产的商品的库存情况。

(4)查询每种商品的库存总量,要求显示商品编号、商品名称和库存总量。

(5)查询青岛生产的商品及库存信息,包括没有库存的商品。

(6)查询各商品的详细信息及每种商品的平均价格。

--第一题
(1)
use 教学库
SELECT AVG(年龄)AS 平均年龄
FROM 学生,选课
WHERE 课程号='C004'

(2)
use 教学库
SELECT AVG(成绩)AS 平均成绩
FROM 选课,课程
WHERE 学分=3
(3)
use 教学库
SELECT 学生.姓名,选课.课程号,选课.成绩
FROM 学生, 选课
{
WHERE 学生.学生号=选课.学生号
(4)
use 教学库
SELECT 姓名,年龄
FROM 学生
WHERE 性别='男'AND 年龄>
(SELECT AVG(年龄)
FROM 学生
WHERE 性别='女')
-
(5)
use 教学库
SELECT top 5 学生号,avg(成绩)as 平均成绩
FROM 选课
GROUP BY 学生号
HAVING count(*)>=2
ORDER BY 平均成绩 desc
--第二题
(1)
USE 仓库库存
>
SELECT DISTINCT 生产商
FROM 商品
(2)
USE 仓库库存
SELECT 商品名称,AVG(单价) AS 平均单价
FROM 商品
GROUP BY 商品名称
HAVING AVG(单价)>3000
(3)

USE 仓库库存
SELECT 库存情况.*
FROM 库存情况 full join 商品
on 商品.商品编号=库存情况.商品编号
WHERE 生产商='南京熊猫'
(4)
USE 仓库库存
SELECT 商品.商品编号,商品.商品名称,库存情况.数量
FROM 库存情况 full join 商品
on 商品.商品编号=库存情况.商品编号
~
ORDER BY 商品名称
COMPUTE SUM(数量) BY 商品名称
(5)
USE 仓库库存
SELECT 商品.*,库存情况.*
FROM 库存情况 full join 商品
on 商品.商品编号=库存情况.商品编号
WHERE 生产商 LIKE '青岛%'
(6)

USE 仓库库存
SELECT 商品编号,商品名称,单价,生产商
FROM 商品
ORDER BY 商品名称
COMPUTE AVG(单价) BY 商品名称
--11月28号作业
(1)检索选修课程C004的学生中成绩最高的学生的学号。

(2)查询没有学生选修的课程的信息。

(3)检索学号比张强同学大,而年龄比他小的学生姓名。

(4)查询每个学生的总学分。


(5)查询库存总量最少的仓库的编号。

(6)查询各生产厂家的商品库存总量,并存入”库存总量”表。

(7)删除四川长虹的产品的库存信息。

(1)
use 教学库
select top 1 学生号
from 选课
where 课程号='c004'
order by 成绩 desc
:
(2)
use 教学库
select *
from 课程
where not exists
(select 课程号
from 选课
where 课程.课程号=选课.课程号)
(3)
use 教学库
:
select 姓名
from 学生
where 学生号>all
(select 学生号
from 学生
where 姓名='张强')
intersect
select 姓名
from 学生
where 年龄<all
(select 年龄
,
from 学生
where 姓名='张强')
(4)
use 教学库
select 学生号,SUM(学分) 总学分
FROM 课程,选课
where 课程.课程号=选课.课程号
GROUP BY 学生号
/
(5)
use 仓库库存
select TOP 1 仓库编号
FROM 库存情况
GROUP BY 仓库编号
ORDER BY SUM(数量) ASC (6)
use 仓库库存
select 生产商,SUM(数量) 库存总量
into 库存总量
FROM 库存情况,商品
where 库存情况.商品编号=商品.商品编号
GROUP BY 生产商
(7)
use 仓库库存
select 库存情况
WHERE 商品编号 IN (SELECT 商品编号
--第十章
--7 是可更新视图
--8 不是可更新视图
use 教学库
create view 学生_平均成绩
as
select 学生.学生号,姓名,avg(成绩)as 平均成绩
from 学生,选课
where 学生.学生号=选课.学生号
group by 学生.学生号,姓名FROM 商品
WHERE 商品名称='四川长虹')。

相关文档
最新文档