数据库实验5 数据查询及更新
数据库查询的实验报告
数据库查询的实验报告数据库查询的实验报告引言:数据库查询是一项重要的技术,它可以帮助我们从庞大的数据集中提取所需的信息。
本实验旨在探索数据库查询的原理和实践,通过实际操作和分析,深入了解数据库查询的过程和技巧。
实验目的:1. 理解数据库查询的基本概念和原理;2. 掌握使用SQL语句进行数据库查询的方法;3. 分析不同查询语句的执行效率和优化策略。
实验步骤:1. 数据库准备:选择一个合适的数据库系统,并创建一个包含适当表结构和数据的数据库。
2. 查询语句编写:根据实际需求,编写不同类型的查询语句,包括基本查询、条件查询、排序查询、聚合查询等。
3. 查询语句执行:使用数据库管理系统提供的查询工具,执行编写好的查询语句,并观察查询结果。
4. 查询结果分析:根据查询结果,分析查询语句的执行效率和查询结果的准确性。
5. 优化策略实施:对于执行效率较低的查询语句,尝试优化策略,如索引的使用、查询语句的重写等。
6. 优化效果评估:比较优化前后查询语句的执行效率,并分析优化策略的有效性。
实验结果与讨论:通过实验,我们发现数据库查询的过程中,查询语句的编写和优化对查询效率有重要影响。
以下是我们的实验结果和讨论。
1. 基本查询:基本查询是最简单的查询方式,通过SELECT语句从数据库中选择所需的字段。
我们发现,基本查询的执行效率较高,查询结果准确。
然而,在处理大量数据时,查询时间可能会增加。
为了提高效率,我们可以使用LIMIT子句限制返回的记录数。
2. 条件查询:条件查询是根据特定条件筛选数据的查询方式。
我们使用WHERE子句来指定查询条件,并发现查询结果的准确性和效率与查询条件的选择有关。
使用索引字段作为查询条件可以大大提高查询效率。
3. 排序查询:排序查询是根据指定字段的顺序对查询结果进行排序的方式。
我们使用ORDER BY子句来指定排序字段,并观察到排序查询的执行效率较高。
然而,对于大规模数据集,排序操作可能会导致性能下降。
实验5 数据库的更新操作
实验5 数据库的更新操作二、背景知识:(1)单个数据插入语句INSERTINTO 表名 [(属性列1,属性列2 … )]VALUES (常量1 ,常量2 … )(2)成批数据插入语句INSERTINTO 表名 [(属性列1,属性列2 … )]子查询(3)删除数据语句DELETEFROM 表名WHERE 删除限定条件(4)更新数据语句UPDATE 表名SET 属性列1=常量1,属性列2=常量2...WHERE 更新限定条件三、实验内容通过企业管理器或查询分析器,对XSGL数据库,利用增删改语句,对数据库进行数据维护。
四、实验步骤1.在企业管理器中向数据库XSGL的student表加入如表5-1所示的数据表 5-1 student表记录在企业管理器中,展开“XSGL”数据库,单击“表”目录,在右面的详细窗格中,右击表“student”,在快捷菜单中选择“打开表”,并在其及联菜单上,单击“返回所有行”,将鼠标移动到空白记录上,逐字段输入各记录值,输入完后,关闭表窗口。
2.建立一个新表‘成教表’chengjiao,结构与student表相同。
CREATE TABLE chengjiao(SNO char (8) not null unique,SNAME char(10),SEX char(2),DNO char(8),AGE smallint,BIRTHDAY datetime)3.将一个新学生(学号:‘20067027’,姓名:‘张三’,年龄:20,所在系编号:‘0002’ )插入到学生表中。
INSERT INTO student(SNO,SNAME,AGE,DNO)VALUES ('20067027','张三',20,'0002')4.按如下语句插入另外两个同学的信息到成教表中INSERT INTO chengjiao(SNO,SNAME,AGE,DNO) VALUES ('20067011','王二',23,'0003')INSERT INTO chengjiao(SNO,SNAME,AGE,DNO) VALUES ('20067021','张三',19,'0003')说明:插入的数据必须符合数据库的完整性约束5.将成教表chengjiao中的所有学生一次性添加到学生表student中。
数据查询与更新实验报告
信息工程学院实验报告课程名称:《数据库原理》Array实验项目名称:数据查询与更新一、实验目的:(1)观察查询结果, 体会SELECT语句实际应用;(2)要求学生能够在查询分析器中使用SELECT语句进行简单查询。
(3)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
(4)熟悉使用UPDATE/INSERT/DELETE/ALTER语句进行表操作;二、实验设备与器件Win7 +Sql server 2008三、实验内容与步骤根据实验一所创建数据库SPJ,在查询分析器中用sql语句完成以下题目(1)找出所有供应商的姓名和所在城市。
(2)找出所有零件的名称、颜色、重量。
(3)找出使用供应商S1所供应零件的工程号码。
(4)列出所有地址在北京的供应商姓名。
(5)模糊查询,找出名字包含“螺丝”两个字且颜色为红色的零件名称。
(6)统计不同城市工程项目的数量,结果显示“城市”、“工程项目数合计”。
(7)找出工程项目J2使用的各种零件的名称及其数量。
(8)找出上海厂商供应的所有零件号码。
(9)出使用上海产的零件的工程名称。
(10)统计不同地区供应商所供应的零件总数量,结果显示供应商地区、零件总量。
(11)分类统计供应商“盛锡”,不同零件的供应量,结果显示零件名称、零件数量。
(12)找出没有使用天津产的零件的工程号码。
(13)查询至少用了供应商S1提供的全部零件的工程号JNO。
(14)把全部红色零件的颜色改成蓝色。
(15)由S5供给J4的零件P6改为由S3供应。
(16)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
(17)请将(S1,J6,P4,200)插入供应情况关系。
(18)为S表添加供应商,供应商编号:S6,供应商名称:伟星,城市:北京,状态暂未定。
(19)为P表添加零件,零件编号:P7,零件名称:凹轮,颜色:蓝,重量:20。
(20)将S、SPJ表进行左外连接,查询结果中带有null值的表示什么含义?(21)将SPJ、P表进行右外连接,查询结果中带有null值的表示什么含义?(22)在P表中加入属性零件产地CITY(CHAR型)。
数据查询和更新实验报告
实验总结; 通过这次实验,我更好地掌握了 SQL 语句的使用,掌握了数据的添加、删除、更新
方法,在实验的过程中遇到了一系列的问题,比如 SQL 语句语法的使用错误导致实验结 果出错,在解决问题的过程中掌握更多的知识,最典型的就是 like、is、=的区别与使用环 境。另外,通过这次实验,我认识到只有自己实际操作才能更好的了解自己的不足之处, 才能在学习的过程中更好的掌握知识。
course as course1 on course.cpno=o
--2.修改数据; -- 将表Student中所有学生的年龄加岁。 update student set sbirthday=sbirthday-365*2
--将表SC中所有学生的成绩降低% update sc
实验步骤:(算法描述、源程序、操作步骤和方法) set grade=grade*(1-0.1)
实验目的与要求: 掌握 SQL 的单表查询操作 掌握 SQL 的连接查询操作 掌握 SQL 的集合查询操作 了解数据库更新的意义,掌握添加数据、删除数据、更新数据的
基本方法。
验内容: 1.对学生-课程数据库,应用 SQL 语句实现以下查询:
1)查询数学系学生的学号和姓名; 2)查询选修了课程的学生学号; 3)查询选修了 1 号课程的学生学号和成绩,并要求结果按成绩降序 排列,如果成绩相同,则按学号升序排列; 4)查询选修了 1 号课程且成绩在 80~90 分之间的学生学号和成绩, 并将成绩乘以系数 0.8 输出; 5)查询数学系或计算机系姓张的学生的信息; 6)查询缺少了成绩的学生的学号和课程号; 7)查询每个学生的情况以及他(她)所选的课程; 8)查询学生的学号、姓名、选修的课程名称及成绩; 9)查询选修了“数据库”课程且成绩在 90 分以上的学生学号、姓名和 成绩; 10)查询每门课程的间接先行课的课程名称; 执行以下操作: 2.修改数据; 将表 Student 中所有学生的年龄加 2 岁。 将表 SC 中所有学生的成绩降低 10%。 3.删除数据;
SQL数据的查询和更新实验报告报告
实验三、SQL的数据查询1、实验目的熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。
2、实验内容实验内容主要是对数据库进行查询操作,包括如下四类查询方式:(1)单表查询●查询的目标表达式为所有列、指定的列或指定的列的运算三种不同。
●使用DISTINCT保留字消除重复行。
●对查询结果排序和分组.●集合分组使用集函数进行各项统计。
(2)连接查询●笛卡儿连接和等值连接。
●自连接。
●外连接●复合条件连接.●多表连接。
(3)嵌套查询●通过实验验证对子查询的两个限制条件。
●体会相关子查询和不相关子查询的不同.●考察四类谓词的用法,包括:第一类,IN、NOT IN;第二类,带有比较运算符的子查询;第三类,SOME、ANY或ALL谓词的子查询,查询最大值和最小值;第四类,带有EXISTS谓词的子查询,实现“所有”等情况(如王宏的“所有"课程,“所有”女生选修的课程)(4)集合运算●使用保留字UNION进行集合或运算。
●采用逻辑运算符AND或OR来实现集合交和减运算。
3、实验步骤以University_Mis数据库为例,该数据库中有四张如实验一,其中Score是每门课的考试成绩,Scredit是学生所有考试合格课程所获得的积分总数,Ccredit每门课程的学分数。
在数据库中,存在这样的联系:学生可以选择课程,一个课程对应一个教师。
在表Reports 中保存学生的选课记录和考试成绩。
请先输入如下元组,再对数据库进行有关的查询操作:图1。
1、Students表图1。
2、Teachers表图1.3、Courses表图1.4、Reports表(1)查询性别为“男”的所有学生的名称并按学号升序排列.(2)查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。
积分的计算公式为:[1+(考试成绩-60)*0。
1]*Ccredit。
考试成绩>=60。
(3)查询学分是3或4的课程的名称。
实验五SQL语言-数据更新操作报告
实验五SQL语言-数据更新操作报告SQL(结构化查询语言)是一种被广泛使用的关系型数据库管理系统查询和编程语言,可以用来操纵数据和其他数据库对象的结构和内容。
本实验采用SQL语言进行对关系型数据库表中的数据更新操作,经过实验室所做操作、实验结果、验证和总结,最终更新操作成功。
实验内容:1. 使用查询语句检查关系表: 首先使用“SELECT * FROM table_name”这样的语句检查表中的内容,确定需要更新的信息,以及数据的形式等。
这样可以确保编写更新语句时,能够正确地更新所需的信息。
2. 编写更新语句: 将检查的结果作为基础,用“UPDATE table_name setcolumn_name = value”这样的语句来修改表中数据项的值,确认这些修改后的值是符合要求的。
3. 在SQL Shell中运行更新语句: 将上述步骤得到的更新语句复制到SQL Shell中,运行,并检查结果。
4. 更新操作验证: 更新操作完成后,应在SQL Shell中通过“SELECT * FROMtable_name”这样的语句,对关系表中的数据项进行再次检查,以确认更新操作的正确性。
5. 总结实验: 通过上述步骤,在关系型数据库表中进行了更新操作,运用了SQL语言相关的操作,并能够准确高效的完成数据更新。
本次实验使用SQL语言进行对关系型数据库表中的数据更新操作,通过查询语句、编写更新语句、在SQL Shell中运行语句、更新操作验证和总结实验等步骤,最终成功地实现了数据更新操作。
这也体现出SQL语言在数据库操作中的强大功能,也让我们对关系型数据库的操作更加熟悉,更能巧妙的应用在各种场合里。
数据查询与更新实验报告
数据查询与更新实验报告本次数据查询与更新实验,我们通过使用SQL语言,掌握了大量的数据查询与更新的操作方法。
在本次实验中,我们学习了数据查询的基本步骤并掌握了各种数据查询方式,包括简单查询、条件查询、排序查询、目录查询、并集查询、交集查询和差集查询。
同时,我们还学习了如何利用SQL语言进行数据更新,包括添加、修改和删除数据等方面。
在实验中,我们使用了具体的数据库及表格进行操作。
首先,我们创建了一个名为“students”的数据库,并在其中添加了一个名为“student”的表格,用于存储学生的信息。
在插入数据时,我们学习了如何通过SQL语言向表格中添加数据,并掌握了如何在插入数据时保证数据的唯一性和数据的正确性。
在数据查询方面,我们掌握了基本的SELECT语句的用法,并学习了SELECT语句的各种限定方式,以达到我们需要查询的结果。
我们还学习了如何通过子查询进行复杂的数据查询,并掌握了如何在查询中利用逻辑运算符和比较运算符等方式来进行查询筛选。
同时,我们还学习了如何利用GROUP BY和ORDER BY子句对数据进行分类及排序查询。
在数据更新方面,我们学习了如何使用INSERT, UPDATE和DELETE语句来进行数据的添加、修改和删除操作,并了解了利用各种子查询语句进行数据更新的方法。
在实际操作中,我们试图通过修改数据来实现数据的更新,并考虑到更新数据时对数据完整性的影响。
我们还通过实例操作学习了如何使用SQL事务处理,确保数据的一致性。
在本次实验中,我们还通过使用SQL实现了数据的备份和恢复操作,并尝试了利用批处理进行数据管理的方式。
我们还学习了如何处理存储过程和触发器,以实现对数据的自动化管理。
综上所述,本次实验对我们学习SQL语言的数据查询和更新操作有了很大的帮助。
我们掌握了SQL语言的基本语法以及各种数据查询和更新的方法,为我们今后在数据库管理和数据分析方面的工作提供了坚实的基础。
同时,我们也意识到数据查询与更新在各种实际工作中的极其重要性,并应该时刻保证数据的正确性、完整性及一致性,以确保数据的有效性和可信度。
数据库实验五DML的数据更新
《数据库系统概论》实验报告实验五:DML的数据更新姓名日期实验内容与完成情况:一、实验内容:1.启动数据库服务软件SQL Server 2008的查询分析器,用INSERT语句对表进行插入操作,语法格式如下:Insert Into <表名> [(<属性列1>[,<属性列2>]…)]Values (<常量1>[,<常量2>]…)|子查询;2.用UPDATE语句对表中已有的记录进行修改,语法格式如下:Update <表名> Set <列名>=<表达式>[,<列名>=<表达式>][,…n] [Where <条件>];3.用DELETE语句对表中已有的记录进行删除,语法格式如下:Delete From <表名> [Where <条件>];4、复制数据库表用T-SQL复制一个数据库表以及复制数据库表的一部分。
select…. into…from…二、实验任务1.打开数据库SQL Server 2008的查询分析器,用INSERT语句对表插入记录查询分析器窗体下完成以下题目,分别运行,观察结果(1)将一个新学生记录(学号:201615118;姓名:陈冬;性别:男;所在系:IS;年龄:18)插入到Student表中。
insertinto Student(Sno,Sname,Ssex,Sdept,Sage)values('201615118','陈冬','男','IS',18);(2)插入一条选课记录(‘201615118’,‘1’)insertinto Sc(Sno,Cno)values('201615118','1');(3)对每个系求学生的平均年龄,并把结果存入表Deptage create table Deptage(Sdept char(15),Avgage SMALLINT);insertinto Deptage(Sdept,Avgage)select Sdept,AVG(Sage)from Studentgroup by Sdept;(1)将学生201615118的年龄改为22岁。
数据库查询和更新操作实验报告
南昌航空大学实验报告二00 年月日课程名称: 数据库概论实验名称: SQL语言-查询和更新操作班级: 102022 姓名: 涂海同组人:指导教师评定: 签名:一、实验环境1.Windows2000或以上版本;2.SQLServer2000或2005。
二、实验目的1.了解查询、更新的概念和方法;2.掌握查询分析器或企业管理器中执行SELECT操作和更新数据操作的方法;3.掌握SELECT语句在单表查询中的应用;4.掌握SELECT语句在多表查询中的应用;5.掌握SELECT语句在复杂查询中的使用方法。
6.掌握INSERT、UPDATE、DELETE语句在更新中的应用。
三、实验要求供应商表S(SN,SNAME,CITY), 其中SN为供应商代号, SNAME为供应商名字, CITY为供应商所在城市, 主关键字为SN;零件表P(PN,PNAME,COLOR,WEIGHT)其中PN为零件代号, PNAME 为零件名字, COLOR为零件颜色, WEIGHT为零件重量, 主关键字为PN;工程表J(JN,JNAME,CITY), 其中JN为工程代号, JNAME为工程名字, CITY为工程所在城市, 主关键字为JN;供应关系表SPJ(SN,PN,JN,QTY), 其中SN、PN、JN含义同上, QTY 表示提供的零件数量, 主关键字为(SN, PN,JN), 外关键字为SN、PN、JN四、实验步骤及参考源代码1 先将4个表输入完成源程序如下:--1. 创建供应商表CREATE TABLE S(SN CHAR(3),SNAME V ARCHAR(20),CITY V ARCHAR(20),PRIMARY KEY(SN)); --2. 创建零件表CREATE TABLE P(PN CHAR(3),PNAME V ARCHAR(20),COLOR CHAR(4),WEIGHT INT,PRIMARY KEY(PN)); --3. 创建工程表CREATE TABLE J(JN CHAR(3),JNAME V ARCHAR(20),CITY V ARCHAR(20),PRIMARY KEY(JN));--4. 创建供应关系表create table SPJ(SN char(3) ,PN char(3),JN char(3),QTY int ,primary key(SN,PN,JN),foreign key(SN) references S, foreign key(PN) references P, foreign key(JN) references J);--5. 插入数据insert into Svalues('S1','SN1 ', '上海') ; insert into Svalues('S2','SN2 ', '北京') ; insert into Svalues('S3','SN3 ', '南京') ;insert into Svalues('S4','SN4 ', '西安') ; insert into Svalues('S5','SN5 ', '上海') ;insert into Pvalues('P1','PN1 ', '红',12) ; insert into Pvalues('P2','PN2 ', '绿',18) ; insert into Pvalues('P3','PN3 ', '蓝',20) ; insert into Pvalues('P4','PN4 ', '红',13) ; insert into Pvalues('P5','PN5 ', '白',11) ; insert into Pvalues('P6','PN6 ', '蓝',18) ;insert into Jvalues('J1','JN1 ', '上海') ; insert into Jvalues('J2','JN2 ', '广州') ; insert into Jvalues('J3','JN3 ', '武汉') ; insert into Jvalues('J4','JN4 ', '北京') ; insert into Jvalues('J5','JN5 ', '南京') ; insert into Jvalues('J6','JN6 ', '上海') ; insert into Jvalues('J7','JN7 ', '上海') ;insert into SPJvalues('S1','P1','J1',200) ; insert into SPJvalues('S1','P1','J4',700) ; insert into SPJvalues('S2','P3','J1',800) ; insert into SPJvalues('S2','P3','J2',200) ; insert into SPJvalues('S2','P3','J3',30) ; insert into SPJvalues('S2','P3','J4',400) ; insert into SPJvalues('S2','P3','J5',500) ; insert into SPJvalues('S2','P3','J6',200) ; insert into SPJvalues('S2','P3','J7',300) ; insert into SPJvalues('S2','P5','J2',200) ; insert into SPJvalues('S3','P3','J1',100) ; insert into SPJvalues('S3','P4','J2',200) ; insert into SPJvalues('S4','P6','J3',300) ; insert into SPJvalues('S4','P6','J7',500) ; insert into SPJvalues('S5','P2','J2',500) ; insert into SPJvalues('S5','P2','J4',250) ; insert into SPJvalues('S5','P5','J5',300) ; insert into SPJvalues('S5','P5','J7',100) ; insert into SPJvalues('S5','P6','J2',200) ; insert into SPJvalues('S5','P1','J4',300) ; insert into SPJvalues('S5','P3','J4',100) ; insert into SPJvalues('S5','P4','J4',200) ;然后进行查询:1.select *from jwhere CITY='上海'2SELECT PNFROM PWHERE WEIGHT=(select MIN(WEIGHT)FROM P)3SELECT SNFROM SPJWHERE JN='J1'4SELECT SNFROM SPJWHERE JN='J1' AND PN='P1'5SELECT JNAMEFROM J SPJWHERE JN IN(SELECT JNFROM SPJWHERE SN='S1')6SELECT COLORFROM P SPJWHERE PN IN(SELECT PNFROM SPJWHERE SN='S1')7SELECT S2.SNFROM SPJ S1,SPJ S2WHERE S1.JN='J1'AND S2.JN IN(SELECT JNFROM SPJ S2WHERE S2.JN='J2')GROUP BY S2.SN8SELECT SNFROM SPJ PWHERE JN='J1'AND PN IN(SELECT PNFROM PWHERE COLOR='红')GROUP BY SN9SELECT SNFROM SPJ JWHERE JN IN(SELECT JNFROM JWHERE CITY='上海')GROUP BY SN10SELECT SNFROM SPJ JWHERE JN IN(SELECT JNFROM JWHERE CITY='上海'OR CITY='北京' )GROUP BY SN11SELECT SNFROM S JWHERE CITY IN(SELECT CITYFROM JWHERE CITY='上海')GROUP BY SN12SELECT PNFROM SPJ SWHERE SN IN(SELECT SNFROM S JWHERE CITY IN(SELECT CITYFROM JWHERE CITY='上海'))GROUP BY PN13SELECT SPJ.PNFROM SPJ,S,Jwhere J.JN=SPJ.JN AND SPJ.SN=S.SN AND J.CITY='上海'AND S.CITY='上海';14SELECT SPJ.JNFROM S,SPJ,JWHERE S.SN=SPJ.SN AND SPJ.JN=J.JN AND S.CITY!=J.CITY EXCEPTSELECT SPJJNFROM S,SPJ,JWHERE S.SN=SPJ.SN AND SPJ.JN=J.JN AND S.CITY!=J.CITY;15SELECT JNFROM SPJWHERE SN NOT IN(SELECT SNFROM SWHERE CITY='上海')EXCEPTSELECT JNFROM SPJWHERE SN NOT IN(SELECT SNFROM SWHERE CITY='上海');21SELECT JNFROM JWHERE JN NOT IN(SELECT J.JNFROM S,P,SPJWHERE S.SN=SPJ.SN AND SPJ.PN=P.PNAND S.CITY='天津' and p.color='红' );23UPDATE PSET COLOR='蓝'WHERE COLOR='红'UPDATE SPJSET SN='s8'WHERE SN='s6' AND JN='j4'DELETEFROM SPJWHERE SN='s2'DELETEFROM SWHERE SN='s2'INSERTINTO JVALUES('j8','JN8','江西'); INSERTINTO SVALUES('s9','SN9','江西'); INSERTInto SPJVALUES('s9','p4','j8',200);五、实验结果创建的数据库为1. 2. 3. 4. 5. 6.7. 8. 9.10.11.12.13.14.15.21.23.六、实验体会在本次实验中, 我已经了解查询、更新的概念和方法, 查询的的关键字为select, 更新的为update。
数据库实验卡5-数据库的更新操作
天津师范大学软件学院数据库原理实践课程实验卡实验序号: 5 实验室名称:计信学院实验室实验名称数据库的更新操作实验类型验证计划学时 2 人组数 1 首开日期面向专业(逐个填写)主要配置仪器设备名称设备规格型号每组台件数1.计算机 12.投影仪 1消耗材料名称每组消耗量消耗材料名称每组消耗量实验项目简介实验目的:通过上机实验验证数据库的更新操作。
实验内容:1、将studentx数据库还原。
2、在studentx数据库中,完成以下单表查询的操作,将每一个程序保存为.sql。
(1)将一个新生插入到Xtudent表中,其学号为:0821105,姓名为:陈冬,性别为:男,年龄18岁,信息管理系学生,查询结果存入新表x1。
(2)在XC表中插入3条新记录,学号均为“0821105”,选修的课程号分别为“C001”、“C002”和“C004”,成绩分别为:90、88和NULL,查询结果存入新表x2。
(3)将一新学生插入到student表中,其学号为:0811105,姓名为:李丽,性别为:女,出生日期暂缺,计算机系学生,查询结果存入新表x3。
(4)统计每门课程的平均成绩,并把统计结果保存到一个新表X4中。
(5)通过使用TOP子句插入数据。
建立一个新表Top_Grade,结构包括学生姓名、所在系、选的课程名和考试成绩。
(6)将所有学生的年龄加1,查询结果存入新表x6。
(7)将“C001”号课程的学分改为5,查询结果存入新表x7。
(8)将计算机系全体学生的成绩加5分,查询结果存入新表x8。
(9)将Java课程改为第2学期开设,3个学分,查询结果存入新表x9。
(10)将SC表复制成为SCnew,在SCnew中删除所有学生的选课记录。
(11)在SCnew中删除所有不及格学生的选课记录。
(12)在SCnew中删除计算机系不及格学生的选课记录。
(13)将计算机系全体学生的成绩加5分,查询结果存入新表x13。
(14)删除JAVA考试成绩最低的学生的JAVA修课记录,查询结果存入新表x14。
数据库实验5数据查询及更新
数据库实验5数据查询及更新实验五:数据查询及更新一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握数据表的连接查询、嵌套查询、集合查询的使用方法。
3.掌握创建及管理视图的方法;二、实验学时2学时三、实验要求1.了解SELECT语句的基本语法格式和执行方法;2.掌握连接查询、嵌套查询和集合查询的语法规则;3.掌握使用界面方式和命令方式创建及管理视图;4.完成实验报告;四、实验内容1.以实验3数据库为基础,请使用T-SQL 语句实现进行以下操作:1)查询选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;2)查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;3)按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。
其中已修学分为考试已经及格的课程学分之和;4)查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;5)查询只被一名学生选修的课程的课程号、课程名;6)使用嵌套查询出选修了“数据结构”课程的学生学号和姓名;7)使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和院系;8)使用ANY、ALL 查询,列出其他院系中比WM系所有学生年龄小的学生的姓名;9)使用集合查询查询选修1号课程同时选修2号课程的同学的学号与姓名;补充题目:1)显示选修02号课程的成绩前两名的学生学号及成绩。
2)显示选修各个课程的及格的人数,及格比率;3)显示各个院系男女生人数,其中在结果集中列标题分别指定为“院系名称、男生人数、女生人数”;4)列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;5)显示选修课程数最多的学号及选修课程数最少的学号;2.以实验数据库为基础数据,进行如下数据更新。
1) 修改student表,将cs系姓名为“李咏”的学生姓名为“李勇”;2) 将学号为“*********”的学生信息重新设置为“王丹丹、女、20、MA”;3) 修改course表,将“数据处理”的学分改为3学分;4) 修改CS表,将选修课程“1”的同学成绩加5分;5) 删除数据表student中无专业的学生记录;6) 删除数据表course中学分低于1学分的课程信息;。
实验五 数据库更新操作和视图
实验五数据库的更新操作和视图
1.实验目的和要求
(1)掌握SQL中的插入语句的用法
(2)掌握SQL中的删除语句的用法
(3)掌握SQL中的更新语句的用法
2.实验内容和步骤
(1)使用单元组和多元组插入
(2)使用带子查询的修改和删除
3.实验操作题
写下操作的SQL语句
a.将一个学生记录插入到学生基本表中。
b.将学生表中全部学生的年龄加1岁
c.将选课表中的高等数学的成绩提高15%。
v
d.把选修数据库课不及格的成绩全改为空值。
e创建KC视图,包括计算机专业各学生的学号、系别、其选修的课程号及成绩。
要保证对该视图的修改都要符合专业名为计算机这个条件。
PS:二次点击运行提示已有KC试图,故改KSC
a.试着往KC视图中插入系别为机械系的学生信息,写下出现的结果。
PS:视图中不包含多张表
b.创建计算机专业学生的成绩视图KC_G,包括学号、每位学生的总成绩和平均成绩。
c.向KC视图中插入一条记录(’09830’,’C08’,98)
d.将KC视图中,学号为09830的学生的C08号课程的成绩改为86分。
实验五 SQL(四)SQL的常用数据更新操作
实验五SQL(四)SQL的常用数据更新操作实验报告实验目的:1. 熟练掌握SQL的常用数据更新操作。
2. 熟练应用INSERT,UPDA TE,DELETE语句。
3. 掌握更新操作的各种格式。
实验内容:1. 应用INSERT,UPDA TE,DELETE语句进行更新操作;1)插入如下学生记录(学号:95030,姓名:李莉,年龄:18)2)插入如下选课记录(95030,1)3)计算机系学生年龄改成204)数学系所有学生成绩改成05)把低于总平均成绩的女同学成绩提高5分6)修改2号课程的成绩,若成绩小于75分提高5%,成绩大于75时提高7)4%(两个语句实现,注意顺序)8)删除95030学生信息9)删除SC表中无成绩的记录10)删除张娜的选课记录11)删除数学系所有学生选课记录12)删除不及格的学生选课记录13)查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,把值送往另一个已经存在的基本表STU(SNO,SNAME,SSEX)中14)把所有学生学号和课程号连接追加到新表中15)所有学生年龄增116)统计3门以上课程不及格的学生把相应的学生姓名、系别追加到另外一个表中2.熟练掌握INSERT,UPDA TE,DELETE语句并能综合应用;实验步骤与过程:1.创建学生表student、课程表course和选课表SC,可以用使用实验一中已经建立的表和数据;2.并输入数据,设置主键;3.建立索引及三表之间关系;4.打开access的查询,进行查询sql指令进行输入;5.按照SQL语句格式及题目要求输入语句应用INSERT,UPDA TE,DELETE语句进行更新操作:1、使用insert into..values 对学号95030 姓名:李丽、年龄:18插入;2、使用insert into..values 对学号95030 选课号1插入;3、使用修改语句update..set...where... 对计算机CS的学生年龄改为20;4、使用修改语句update..set...where...对数学系所有学生的成绩改为0,把student表sc表通过SNO建立表关系5、使用修改语句update ..set...where...在where 句中含有子查询用sc.sno=student.sno将俩个表联系起来。
数据库实验报告 (数据查询与更新)
《数据库原理》实验报告书学号:姓名:专业班级:课程名称数据库原理实验项目名称数据查询与更新实验项目类型验证演示综合设计指导教师徐凯华成绩√一实验目的1.掌握使用SQL语句单表查询;2.掌握使用SQL语句多表连接查询,嵌套查询;3.掌握使用SQL语句实现数据的更新。
二实验内容1、给每张表插入5条以上数据。
2、完成下面查询。
1)查询年龄大于25岁的女学生的学号和姓名。
2)查询选修了“数据库系统概论”课程的学生姓名。
3)统计选修2号课程的人数。
4)查询平均成绩大于80分的学生的学号。
5)统计每个系的学生人数。
6)查询选修数据库课程并且成绩不及格的学生学号和姓名。
7) 查询每门课程先修课的学分。
8)查询成绩在60到80之间的所有记录。
9)查询成绩为85,86或88的记录。
10) 查询所有不姓“王”的学生记录。
11)以系别和年龄从大到小的顺序查询Student表中的全部记录。
12)统计男女生分别有多少人。
13)查询姓名的第二个字为“小”字的女生信息。
14)查询学生的成绩信息,先按学号升序排序,再按成绩降序排序。
三实验步骤1、给每张表插入5条以上数据。
1)插入学生表INSERT INTO Student(Sno,Sname,Sage,Ssex) VALUES('','李小明',23,'男'); INSERT INTO Student(Sno,Sname,Sage,Ssex) VALUES('','王大刚',26,'男'); INSERT INTO Student(Sno,Sname,Sage,Ssex) VALUES('','没头脑',28,'男'); INSERT INTO Student(Sno,Sname,Sage,Ssex) VALUES('','李小红',32,'女'); INSERT INTO Student(Sno,Sname,Sage,Ssex) VALUES('','王小华',50,'女'); INSERT INTO Student(Sno,Sname,Sage,Ssex) VALUES('','不高兴',18,'男');三实验步骤2)插入课程表INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('001','数据库系统概论','006',5);INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('002','数据结构','006',6);INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('003','数据库系统概论','002',8);INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('004','JAVA程序设计','001',6);INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('005','大学英语','003',5);INSERT INTO Course(Cno,Cname,Cpno,Ccredit) VALUES('006','高等数学','004',5);3)插入关系表INSERT INTO SC(Sno,Cno,Grade) VALUES('','006','80');INSERT INTO SC(Sno,Cno,Grade) VALUES('','005','85');INSERT INTO SC(Sno,Cno,Grade) VALUES('','004','86');INSERT INTO SC(Sno,Cno,Grade) VALUES('','003','88');INSERT INTO SC(Sno,Cno,Grade) VALUES('','002','76');INSERT INTO SC(Sno,Cno,Grade) VALUES('','001','50');2、完成下面查询。
数据库SQL实验报告__数据更新及创建视图
1.报告格式和内容要求:
a. 内容和格式整齐。
大标题采用黑体四号字加粗,小标题采用小四号字加粗。
正
文采用五号宋体,单倍行距。
b. 贴图时请剪裁到适当大小,要保证打印时可以看清,但也不要太大以免“越界”。
c. 不要在报告中写与实验无关的话,内容要有条理、完整、并能突出重点,要将
遇到的主要问题说明。
2.文件格式要求:
a. 将实验成果放入一个文件夹中,文件夹的内容包括:本实验报告、分离后的数
据库、如有查询代码(.sql文件)和其它文件也一并放入。
b. 文件夹以“学号姓名_S5”为文件名。
其中,S3表示这是实验3的报告,S大写,
以后的实验报告以类似方法编号顺延,注意:你的学号放在姓名前。
c. 注意:所有文件保存后关闭,然后再打包成RAR文件,以免提交的内容丢失或
打不开。
3.提交方式和时间:一周内完成。
可以将文件包发到我邮箱*******5@。
4.主动查阅资料,坚持自己亲手完成实验,弄清每个步骤和相关原理。
实验5 数据库的更新实验
实验5 数据库的更新实验(2学时)1.实验目的本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。
2.实验内容通过企业管理器,在学生选课数据库的学生、课程和选课3个表中各输入10条记录。
要求记录不仅满足数据约束要求,还要有表间关联的记录。
具体完成以下例题。
将它们转换为SQL语句表示,在学生选课库中实现其数据更新操作。
例1 将一新学生记录(学号:10050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中。
例2 插入一条选课记录(‘10020’,’C1’)。
例 3 对每一个系,求学生的平均年龄,并把结果存入数据库。
对于这道题,首先要在数据库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应系的学生平均年龄。
CREATE TABLE Deptage(所在系CHAR(20),平均年龄SMALLINT);然后对数据库的学生表按所在系分组求平均年龄,再把所在系和平均年龄存入新表中。
例4 将学生10001的年龄改为22岁。
例5 将所有学生的年龄增加一岁。
例6 将计算机科学系全体学生的成绩置零。
例7 删除学号为10006的学生记录例8 删除所有的学生选课记录例9 删除计算机科学系所有学生的选课记录3.实验步骤将查询需求用SQL语言表示;在SQL Server查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。
4.收获体会。
05实验五 SQL参数查询、子查询与数据更新
(6)将计算机类的图书单价减少5元
(7)将1987年出生的读者所借图书改为“已归还”
(8)插入一条借书记录:读者编号06-00008,图书编号003-000024,借书日期2007-3-25,还书日期2007-5-25,未归还。
(9)删除2006年8月的借书记录。
(10)删除读者欧阳思思的借书记录。
实验
学号
姓名
同组人
实验项目
实验地点
实验仪器台号
指导教师
实验日期及节次
年月日,第节
了解SQL参数查询
掌握in子查询和带关系运算符的子查询应用;
掌握数据更新语句;
(1)登陆毕博教学网站(http://210.35.204.159/);(2)选择“数据库应用”课程;(3)选择“按周编制的教学安排”后,再选择“第五周”;(4)下载“实验”和“数据库样例”。
用参数查询完成以下实验:
(11)输入图书入库时间上、下限,查询在上限和下限期间入库图书的图书编号、图书名称和入库时间。
请将实验步骤中的每一步,使用截图方式记录其过程。
列出本次实验中你认为重要的名称术语。
解释什么是记录、字段和主关键字。解释实验步骤(11)发生问题的原因。
成绩:指导教师签名:
(1)完成教科书中下列例子。
【例3-42】
【例3-43】
【例3-44】
【例3-45】
【例3-46】
Байду номын сангаас【例3-47】
【例3-48】
【例3-49】
【例3-50】
【例3-51】
【例3-52】
打开“图书管理”数据库,完成下列工作。
已知一个图书管理信息系统,其数据表间约束如下图所示,各个数据表的数据类型如上题表所示。
数据库原理实验报告-数据的查询及更新
实验题目二、数据的查询及更新一、实验目的熟悉SQL语句的使用方法,学习使用SQL语句来实现数据查询。
掌握基本的SELECT 查询及其相关子句的使用;掌握复杂的SELECT查询,如多表查询、子查询、连接查询和嵌套查询等。
二、实验内容和要求学习使用SQL查询分析器查询数据,练习查询语句的使用:1.掌握SELECT 语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法;2.掌握存储查询结果的方法;体会各种查询的异同及相互之间的转换;3.分析各种查询的执行过程,为综合应用打下良好的基础。
三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/XP或更高版本;2.数据库管理系统:SQL Server 2005或更高版本;四、实验方法、步骤及结果测试在实验一的基础上,完成以下实验内容。
1.删除以下各表中已有数据,将下列数据插入到相应的基本表中。
2. 简单查询使用SQL语言完成以下查询。
(4)查询“计算机科学与技术”专业并且班级编码为‘macr1601’的学生的学号、姓名学习在SQL Server 中安装“Northwind”数据库,并完相应查询操作。
(1)安装“Northwind”数据库。
A.运行安装文件(如SQL2000SampleDb.msi)。
B.右击数据库,点击“附加”,添加对应的数据库文件(.mdf)。
C.执行操作。
(2)对NothWind. Products表进行简单查询。
ProductName;五、思考题请举例说明:对于带“EXISTS”谓词的、内外层相关的多层嵌套查询,如何构造此类查询的SQL语句?。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五:数据查询及更新
一、实验目的
1.掌握SELECT语句的基本语法和查询条件表示方法;
2.掌握数据表的连接查询、嵌套查询、集合查询的使用方法。
3.掌握创建及管理视图的方法;
二、实验学时
2学时
三、实验要求
1.了解SELECT语句的基本语法格式和执行方法;
2.掌握连接查询、嵌套查询和集合查询的语法规则;
3.掌握使用界面方式和命令方式创建及管理视图;
4.完成实验报告;
四、实验内容
1.以实验3数据库为基础,请使用T-SQL 语句实现进行以下操作:
1)查询选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修
课程号及成绩;
2)查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;
3)按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。
其中已修学分为考试已经及格的课程学分之和;
4)查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;
5)查询只被一名学生选修的课程的课程号、课程名;
6)使用嵌套查询出选修了“数据结构”课程的学生学号和姓名;
7)使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和
院系;
8)使用ANY、ALL 查询,列出其他院系中比WM系所有学生年龄小的学生的姓名;
9)使用集合查询查询选修1号课程同时选修2号课程的同学的学号与姓名;
补充题目:
1)显示选修02号课程的成绩前两名的学生学号及成绩。
2)显示选修各个课程的及格的人数,及格比率;
3)显示各个院系男女生人数,其中在结果集中列标题分别指定为“院系名称、男生人数、女生人数”;
4)列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;5)显示选修课程数最多的学号及选修课程数最少的学号;
2.以实验数据库为基础数据,进行如下数据更新。
1) 修改student表,将cs系姓名为“李咏”的学生姓名为“李勇”;
2) 将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;
3) 修改course表,将“数据处理”的学分改为3学分;
4) 修改CS表,将选修课程“1”的同学成绩加5分;
5) 删除数据表student中无专业的学生记录;
6) 删除数据表course中学分低于1学分的课程信息;。