数据库上机作业
SQL数据库上机训练题

SQL数据库上机训练题题目一:选择数据以下是一个名为"employees"的表的结构:请编写SQL语句,选择出年龄大于等于30岁的员工:SELECT *FROM employeesWHERE age >= 30;题目二:更新数据以下是一个名为"products"的表的结构:请编写SQL语句,将价格高于2.00的水果产品的价格增加10%:UPDATE productsSET price = price * 1.1WHERE price > 2.00;题目三:删除数据以下是一个名为"customers"的表的结构:请编写SQL语句,删除名为"David"的顾客的记录:DELETE FROM customersWHERE name = 'David';题目四:排序数据以下是一个名为"orders"的表的结构:请编写SQL语句,按照订单日期降序排列:SELECT *FROM ordersORDER BY order_date DESC;题目五:聚合数据以下是一个名为"sales"的表的结构:请编写SQL语句,计算每个产品的总销售量和总销售额:SELECT product_id, SUM(quantity) AS total_quantity,SUM(quantity * price) AS total_salesFROM salesGROUP BY product_id;通过完成以上训练题,可以加强你对SQL查询和操作的理解,并提升你的技能水平。
加油!。
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. 更新表中某个学生的信息。
数据库上机实验4、5

实验四:一、实习目的:掌握SELECT的基本使用格式,能使用SQL Server对表作简单的查询。
二、准备:1.复习3.4节中SELECT的基本使用格式;2.复习SQL中五种集函数:AVG、SUM、MAX、MIN、COUNT;3.完成习题3第12题中各项操作的SQL语句。
三、实习内容:1.验证习题3第12题中各项操作的SQL语句。
2.验证以下语句是否正确:SELECT eno,basepay,serviceFROM salaryWHERE basepay<AVG(basepay);四、实验报告:1.1)找出所有被学生选修了的课程号:select distinct Cno 课程号from Grade2)找出01311班女生的个人信息:select * from Studentwhere Clno='01311' and Ssex='女'3)找出01311班和01312班的学生姓名性别出生年份select sname 学生姓名,ssex 性别,2016-sage 出生年份from Studentwhere Clno='01311' or Clno='01312'4)找出所有姓李的学生的个人信息select * from Studentwhere Sname like '李%'5)找出李勇所在班级的学生人数select COUNT(*) from Studentwhere Clno in(select Clno from Studentwhere Sname='李勇')6)找出课程名为操作系统的平均成绩最高分最低分select AVG(Gmark) 平均成绩,MAX(Gmark) 最高分,MIN(Gmark) 最低分from Gradewhere Cno in(select Cno from Coursewhere Cname='操作系统')7)选修了课程的学生人数;select COUNT(distinct sno) 学生人数fromGrade8)选修了操作系统的学生人数:select COUNT(distinct sno) 学生人数from Gradewhere Cno in(select Cno from Coursewhere Cname='操作系统')9)找出2000级计算机软件班的成绩为空的学生姓名:2.错误。
sqlserver上机练习题

sqlserver上机练习题SQL Server上机练习题SQL Server是一种关系数据库管理系统(RDBMS),被广泛应用于各种企业级应用程序中。
为了能够更好地熟练使用SQL Server,以下是一些上机练习题,帮助您巩固和提升SQL Server的技能。
1. 创建数据库:请创建一个名为"Company"的数据库,用于存储公司员工和部门的信息。
2. 创建表:在"Company"数据库中创建两个表,名为"Employees"和"Departments"。
员工表(Employees)应包含以下列:- 员工ID(EmployeeID):整数类型,主键。
- 员工姓名(EmployeeName):字符串类型,最大长度为50。
- 岗位(Position):字符串类型,最大长度为50。
- 部门ID(DepartmentID):整数类型,外键。
部门表(Departments)应包含以下列:- 部门ID(DepartmentID):整数类型,主键。
- 部门名称(DepartmentName):字符串类型,最大长度为50。
3. 插入数据:向"Employees"表和"Departments"表中插入一些示例数据,确保每个表至少有3条记录。
4. 更新数据:将"Employees"表中ID为1的员工的岗位更改为"经理"。
5. 删除数据:从"Employees"表中删除ID为2的员工。
6. 查询数据:请编写SQL查询语句,执行以下操作:- 检索"Employees"表中所有员工的姓名和岗位。
- 检索"Departments"表中所有部门的名称。
- 检索"Employees"表中岗位为"经理"的员工的姓名和岗位。
数据库综合实训上机报告

一、实训背景随着信息技术的飞速发展,数据库技术已经成为各行各业不可或缺的基础技术。
为了提高学生的数据库应用能力,我们学院开展了数据库综合实训课程。
本次实训旨在通过上机实践,让学生全面掌握数据库设计、创建、查询、维护等基本操作,提高学生的数据库应用技能。
二、实训目标1. 掌握数据库设计的基本原则和方法;2. 熟练运用SQL语言进行数据库操作;3. 学会使用数据库管理系统(如SQL Server、MySQL等)进行数据库的创建、查询、维护等操作;4. 培养学生团队协作能力和沟通能力。
三、实训内容1. 数据库设计(1)需求分析:了解项目背景,分析项目需求,确定数据库功能。
(2)概念设计:根据需求分析,设计实体关系图(ER图),确定实体、属性和关系。
(3)逻辑设计:将ER图转换为关系模型,设计数据库表结构,确定表之间的关系。
(4)物理设计:选择合适的数据库管理系统,创建数据库,设计存储过程、触发器等。
2. 数据库创建与操作(1)创建数据库:使用SQL语句创建数据库,设置用户权限。
(2)创建表:根据设计好的表结构,使用SQL语句创建表,设置字段属性、约束等。
(3)插入、删除、修改数据:使用SQL语句进行数据的增删改操作。
(4)查询数据:使用SELECT语句进行数据查询,包括简单查询、条件查询、多表查询等。
3. 视图与存储过程(1)创建视图:根据查询需求,使用SQL语句创建视图,简化查询操作。
(2)创建存储过程:封装常用操作,提高代码重用性。
4. 数据库维护与优化(1)备份与恢复:定期备份数据库,确保数据安全。
(2)索引优化:合理创建索引,提高查询效率。
(3)性能监控:监控数据库性能,及时发现问题并解决。
四、实训过程1. 组建实训小组:每组由3-5人组成,明确分工,提高团队协作能力。
2. 分阶段完成任务:按照实训内容,分阶段完成数据库设计、创建、操作、维护等任务。
3. 汇报与交流:每个小组定期汇报实训进度,分享经验,互相学习。
数据库上机实验报告

数据库实验(第三次)题目1 实验内容:1. 检索上海产的零件的工程名称;2. 检索供应工程J1零件P1的供应商号SNO;3. 检索供应工程J1零件为红色的供应商号SNO;4. 检索没有使用天津生产的红色零件的工程号JNO;5. 检索至少用了供应商S1所供应的全部零件的工程号JNO;6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数量QTY降序排列。
1select jnamefrom jwhere jno in(select jnofrom spjwhere sno in(select snofrom swhere city ='上海'));2select snofrom spjwhere jno ='j1'and pno ='p1'3selectdistinct snofrom spjwhere pno in(select pnofrom pwhere color='红'and pno in (select pnofrom spjwhere jno ='j1'));4selectdistinct jnofrom spjwhere pno notin(select pnofrom pwhere color ='红'and pno in (select pnofrom spjwhere sno in(select snofrom swhere city ='天津')))5select jnofrom spjwhere sno ='s1'6select jno,qtyfrom spjwhere pno ='p1'orderby qty desc四﹑思考题1. 如何提高数据查询和连接速度。
建立视图2. 试比较连接查询和嵌套查询有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比嵌套查询高出很多当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。
数据库上机实验报告

数据库上机实验报告引言:数据库是一种用于存储和管理数据的工具,它在现代社会中的重要性无可忽视。
本次实验旨在通过实际上机操作,加深对数据库的理解,并熟悉其相关操作和功能。
一、实验背景在信息时代的大背景下,各种类型的数据呈现指数级增长。
为了有效地存储和管理这些数据,数据库被广泛采用。
数据库管理系统(DBMS)是一套软件工具,用于定义、创建、管理和检索数据库。
本次实验将使用一款流行的开源DBMS工具MySQL。
二、实验目的1. 了解数据库的基本概念和原理;2. 掌握数据库的基本操作;3. 理解并应用SQL语言;4. 通过实际操作,熟悉数据库的增删改查功能。
三、实验过程1. 数据库的创建与连接首先,在MySQL中创建一个新的数据库,并通过合适的用户名和密码连接到该数据库。
数据库连接作为与数据库通信的接口,是进行各种操作的基础。
2. 数据表的创建与设置创建数据表是数据库设计的核心部分。
在实验过程中,我们选择创建一个学生信息表格。
通过指定各个字段的数据类型、长度以及约束,定义了学生信息表的结构。
3. 数据的插入与查询在学生信息表中插入若干条测试数据,包括学生姓名、年龄、性别、学号等信息。
通过SQL语句,我们可以灵活地插入、查询和过滤数据。
例如,查询年龄大于20岁的学生或者查询特定学号的学生等。
4. 数据的更新与删除数据库的更新和删除操作是不可或缺的。
我们可以通过SQL语句,修改特定记录的字段值,或者删除某些记录,以实现数据的动态维护和管理。
四、实验结果与分析通过实验操作,我们成功创建了学生信息表格,并插入了若干测试数据。
在查询功能上,我们能够根据不同的条件,按照要求查询指定的学生信息。
此外,我们还尝试了数据的更新和删除操作,成功地修改了一部分学生的年龄和性别,并删除了一些无效的记录。
五、实验总结通过本次数据库上机实验,我对数据库的基本概念、原理和操作有了更深入的了解。
在实践中,我能熟练地使用创建数据库、创建数据表、插入数据、查询数据以及修改和删除数据等功能。
数据库上机作业(学生学籍管理)

上机实验-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.从“视图”菜单中选择“数据表视图”命令,以查看存储在基础表中的数据记录,然后关闭数据表视图窗口。
数据库上机实验答案5

数据库上机实验答案 5学号:姓名:日期:年月日实验目的:综合练习所学的SQL语言。
学习日期函数。
实验内容:基于提供的食堂交易记录trans表,进行查询,记录SQL语句及查询结果。
食堂交易记录表trans的数据说明如下:trans食堂交易记录(stuID,学生学号posID,刷卡机编号transTime,交易时间transValue,交易金额)1 食物销量大比拼创建一张表格posSummary,表格内容如下: pos机编号,就餐人数,刷卡次数,销售金额,平均每次刷卡金额。
以pos机编号为主键。
利用insert语句填充数据。
选择并展示posSummary中销售金额前10的pos机。
2 评选食堂忠实粉丝创建一个视图stuSummary,视图内容如下:学生ID,刷卡次数,刷卡总金额,刷卡平均金额。
基于创建的视图,分别找出刷卡次数最多、刷卡总金额最多、刷卡平均金额最多的同学。
3 学习日期函数datepart执行如下语句。
将执行结果复制到excel中,绘制散点图。
解释图的意思。
select datepart(hour,transtime)*60+datepart(minute,transtime)as minuteOfDay,count(*) as freq from trans group by datepart(hour,transtime)*60+datepart(minute,transtime) order by datepart(hour,transtime)*60+datepart(minute,transtime)其中,日期函数datepart(hour,transtime)的意思是将transtime中小时的部分取出来。
4 就餐规律研究计算某一天是星期几的方法如下:datepart(weekday,transtime),其计算结果周日为1,周一为2,周六为7。
基于题3中的方法,绘制上课日(周一到周五)学生的就餐规律和休息日(周六、周日)学生的就餐规律图。
数据库上机实习报告

一、实习背景随着计算机技术的不断发展,数据库技术已经成为现代信息技术中不可或缺的一部分。
为了使我对数据库技术有更深入的了解,提高我的实际操作能力,我参加了本次数据库上机实习。
本次实习主要基于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)统计每个同学的平均分,按平均分的降序排列。
select Sno,AVG(Grade) from SC group by Sno order by Grade Desc;
(2)查询总分最高的学生的学号。
select Sno from SC GROUP BY Sno having SUM(Grade)>=ALL (
( 3)查询选修了 1 号课程并且选修了以 1 号课程为先行课的课程的学生学号。
select Sno from SC where Cno='1' and Sno in (select Sno from SC where Cno in (Select Cno from Course where Cpno='1'));
select Cno,Cname from Course where Cpno='6' and Ccredit='4';
( 2)查询选修了 1 号课程的学生学号与选修成绩不及格的学生学号的差集。
select Sno from SC where Cno='1' and Grade>=60;
认值等列级数据约束;③实现相关约束:借阅表与图书表之间、借阅表与读者表之间的外码
约束;读者性别只能是“男”或“女”的约束(通过帮助自学)。
create table Book(
Bno varchar(20) primary key,
Bclass varchar(20) unique,
Rno varchar(20),
Lentdate date not null,
primary key (Bno,Rno),
数据库上机实验作业题

数据库上机实验作业题1.从课程表中查询所有课程信息2.从课程表中查询课程类别的信息。
3.从课程表中查询课程类别,要求消除值相同的那些行。
4.从学生表中查询所有的信息,要求只显示查询结果的前6行数据。
5.查询课程表中课程编号、课程名称、教师、上课时间、限制选课人数和报名人数,要求查询结果显示如下:6.查询课程表的信息,要求给出查询结果为:7.在课程表中查询课程类别为“信息技术”,并且学分为“2”的课程。
8.查询课程表的课程信息、报名人数与限选人数之比。
9.查询课程表中最小的报名人数、最大的报名人数以及平均报名人数。
10.查询课程信息、报名人数与限选人数之比。
要求查询结果按照报名人数升降排序。
11.查询课程表的教师名、课程编号、课程名,要求查询结果按照教师名降序排序,教师名相同时,则按照课程编号升序排序。
12.查询课程编号为“004”、“007”、“013”的课程信息。
13.查询课程编号不为“004”、“007”、“013”的课程编号和课程名称。
14.查询课程名以字母D开始的课程信息。
15.查询课程名以“制作”两字结尾的课程信息。
16.查询姓名第二个字为“宝”的学生信息。
17.查询不姓“刘”的学生信息。
18.查询课程表中教师姓名未定的课程信息。
19.查询报名人数少于15人的课程信息。
20.查询报名人数少于25并且多于15人的课程信息。
21.查询报名人数少于25并且等于15人的课程信息,要求查询结果按照报名人数降序排列。
22.查询报名人数少于25并且少于15人的课程信息,要求查询结果按照报名人数降序排列。
23.查询课程表中“信息技术”类课程信息,并计算平均报名人数。
24.按类别显示课程信息,并计算各类课程的平均报名人数。
25.按课程类别分组统计各类课程的平均报名人数。
26.查询“信息技术”类课程的平均报名人数。
27.查询平均报名人数大于25人的课程类别和每类平均报名人数。
28.查询报名人数大于平均报名人数的课程信息。
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"数据表中成绩最高的学生姓名和各科成绩。
数据库上机实验报告

数据库上机实验报告
本次数据库上机实验主要涉及到数据库的设计、创建和查询,通过对实验内容的学习和实践,我对数据库的相关知识有了更深入的理解和掌握。
首先,我们学习了数据库的设计原理和方法。
在数据库设计的过程中,需要考虑到数据的完整性、一致性和安全性等因素,通过对实际案例的分析和设计,我了解到了如何根据需求确定实体、属性和关系,并进行逻辑设计和物理设计。
在实验中,我使用了ER图和关系模式图等工具,对数据库的结构和关系进行了清晰的描述和设计。
其次,实验中我们学习了数据库的创建和管理。
通过使用SQL语句,我成功创建了数据库和表,并进行了数据的插入、修改和删除操作。
在实验过程中,我深入了解了SQL语句的语法和用法,掌握了如何利用SQL语句对数据库进行有效的管理和操作。
最后,我们进行了数据库的查询操作。
通过学习和实践,我掌握了SQL语句中的SELECT语句的用法,能够实现对数据库中数据的查询和统计。
在实验中,我通过编写SQL语句,成功实现了对数据库中数据的查询和分析,对于复杂的查询需求也能够进行有效的处理和实现。
通过本次数据库上机实验,我不仅加深了对数据库设计、创建和查询的理解,还提高了对SQL语句的掌握和运用能力。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
总的来说,本次数据库上机实验内容丰富、操作性强,通过实际操作和实践,我对数据库的相关知识有了更深入的理解和掌握。
我相信这些知识和技能对我的未来学习和工作都将有很大的帮助。
希望通过不断的学习和实践,能够进一步提高自己的数据库技能,为将来的工作做好准备。
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”文件夹。
上机练习任务-创建与修改数据库

上机训练任务-创建与修改数据库一、训练任务要求:1.分别使用SSMS和T-SQL语句来创建和管理数据库。
2.请同学们将本次训练任务的所有SQL语句答案写在课堂笔记本上,需要借助SQL Server管理平台来完成的要逐项练习。
3.每个同学单独完成本次的上机任务,通过T-SQL语句的编辑、分析、执行,自行验证是否正确。
二、训练目的:1.通过数据库的创建和管理,来练习SSMS图形界面工具的使用,并能够使用T-SQL来完成数据库的创建和管理,使同学们进一步了解和掌握T-SQL语句。
2.掌握分离数据库的方法。
3.掌握附加数据库的方法。
三、关键语句:CREATE DATABASE 数据库名(请同学们完善此处内容)四、训练任务:(一)课本实践任务复习:训练任务一:使用SSMS完成教材上第51页[例3.2],第52页[例3.5],第56页[例3.9]。
训练任务二:使用T-SQL语句完成教材上第69页[例3.20,例3.21],第71页[例3.22,例3.23,例3.24],。
要求:只看题目要求,自己来写T-SQL语句。
(二)拓展实践任务训练:训练任务一:在SQL Server管理平台中创建数据库。
1.创建班级管理数据库的名称为classmgm。
2.选择classmgm数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”“文件”“文件组”“选项”和“权限”和“扩展属性”等页面。
3.打开classmgm数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改classmgm数据文件的初始大小为4MB,指定“最大文件大小”为30MB。
修改classmgm数据库的日志文件的大小,在每次填满时自动递增10%。
4.存储路径自定。
训练任务二:请使用T-SQL语句完成本任务:在查询编辑器中使用T-SQL 语句ALTER DATABASE修改班级管理数据库classmgm的设置,指定数据文件初始大小为5MB,最大文件大小为500MB,自动递增大小为5MB。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库上机实验报告
Ships表 Classes表
Outcomes表 Battles表
a)找出至少有10门炮的军舰类别名和制造国家
SELECT class, country FROM Classes WHERE numGuns >= 10
b)找出所有在1918年以前下水的舰船的名字,并且把结果列名改为ShipName.
SELECT name AS ShipName FROM Ships WHERE YEAR(launched)<1918
c)找出所有在战斗中被击沉的船只和那次战斗的名字。
SELECT ship AS ShipName, battle FROM Outcomes WHERE result='sunk'
d)找出所有和它的类别名同名的船只。
SELECT name AS ShipName FROM Ships WHERE name = class
e)找出所有以“R”字符打头的船只的名字。
SELECT name AS ShipName FROM Ships WHERE name LIKE'R%'
a)找出重量超过35000吨的船只。
SELECT
FROM Ships , Classes
WHERE Ships.class = Classes.class AND Classes.displacement>35000
b)找出参加Guadalcanal战斗的船只的名字、排水量和火炮数量。
SELECT , C.displacement, C.numGuns
FROM Ships S, Outcomes O, Classes C
WHERE =O.ship AND S.class =C.class AND O.battle ='Guadalcanal'
c)列出数据库在抗洪提到的所有船只。
SELECT name ShipName FROM Ships
UNION
SELECT ship ShipName FROM Outcomes
d)找出同时拥有战列舰和巡洋舰的国家。
SELECT C1.country
FROM Classes C1, Classes C2
WHERE C1.country = C2.country AND C1.type='bb'AND C2.type='bc';
a)找出火炮数量最多的船只所属的国家。
<1> SELECT C.country FROM Classes C
WHERE numGuns IN(SELECT MAX(numGuns)FROM Classes )
<2> SELECT C.country FROM Classes C
WHERE numGuns >=ALL(SELECT numGuns FROM Classes)
b)找出至少有一艘船在战斗中被击沉的船只种类。
<1> SELECT DISTINCT C.class FROM Classes C, Ships S
WHERE C.class = S.class
AND EXISTS(SELECT ship FROM Outcomes O WHERE O.ship= AND
O.result='sunk')
<2> SELECT DISTINCT C.class FROM Classes C, Ships S
WHERE C.class = S.class
AND IN(SELECT ship FROM Outcomes O WHERE O.result='sunk')
c)找出具有16英寸口径火炮的船只的名字。
<1> SELECT FROM Ships S
WHERE S.class IN(SELECT class FROM Classes C WHERE bore=16 )
<2> SELECT FROM Ships S
WHERE EXISTS(SELECT class FROM Classes C WHERE bore =16 AND C.class
= S.class )
d)找出有Kongo类型的船只参加的战斗。
<1> SELECT O.battle FROM Outcomes O
WHERE O.ship IN(SELECT name FROM Ships S WHERE S.Class ='Kongo') <2> SELECT O.battle FROM Outcomes O
WHERE EXISTS(SELECT name FROM Ships S WHERE S.Class ='Kongo'AND = O.ship)
a)查询军舰类型的数目。
SELECT COUNT(type)AS Classes_num FROM Classes WHERE type='bb'
b)查询军舰的所有类型的平均火炮数量。
SELECT AVG(numGuns)AS Avg_Guns FROM Classes WHERE type='bb'
c)查询军舰的平均火炮数量。
SELECT AVG(C.numGuns)AS Avg_Guns
FROM Classes C INNER JOIN Ships S ON(C.class =S.class)WHERE C.type='bb'
d)查询每个类型(class)的第一舰船下水的年份。
SELECT C.class,MIN(YEAR(unched))AS First_Launched
FROM Classes C, Ships S
WHERE C.class = S.class
GROUP BY C.class
e)查询每个类型在战斗中被击沉的船的数目。
SELECT C.class,COUNT(O.ship)AS Sunk_num
FROM Classes C, Outcomes O, Ships S
WHERE C.class = S.class AND = O.ship AND O.result ='sunk' GROUP BY C.Class。