《数据库原理》实验报告6 SQL语言综合练习
sql数据库实验报告
sql数据库实验报告目录1. 实验概述 (2)1.1 实验目的 (2)1.2 实验背景 (3)1.3 实验内容 (4)1.4 实验环境 (5)2. 数据库设计 (5)2.1 数据库概念 (6)2.2 表结构设计 (8)2.2.1 表1名称及字段定义 (9)2.2.2 表2名称及字段定义 (10)2.3 关系约束 (11)3. SQL语句操作 (12)3.1 数据插入 (13)3.2 数据查询 (14)3.2.1 根据条件查询 (15)3.2.2 聚合函数查询 (16)3.2.3 连接查询 (17)3.3 数据更新 (18)3.4 数据删除 (20)4. 实验结果展示 (21)4.1 SQL语句执行结果 (22)4.2 数据分析及解释 (22)4.2.1 查询结果的意义 (24)4.2.2 数据之间的关系性分析 (24)5. 实验总结与展望 (25)5.1 实验总结 (26)5.2 总结得到的经验与教训 (27)5.3 进一步研究建议 (29)1. 实验概述本实验旨在通过实践操作,实验内容涵盖了常见数据库操作,包括表创建、数据插入、查询、修改和删除。
通过完成实验,我们将学习如何使用SQL语句来管理和处理数据库数据,掌握常用的 SELECT、INSERT、UPDATE、DELETE 语句以及 JOIN 操作等,并熟悉数据库的操作流程和概念。
本实验旨在提升 SQL 数据库操作技能,并为后续更深入的数据库学习和应用打下基础。
您可以根据实际实验内容对以上段落进行修改和完善,具体修改点包括:明确实验的主题和目标,例如:实验主题可能是某个特定数据库管理系统(如MySQL、PostgreSQL等)的应用,目标可能是学习该数据库特定的功能特性。
1.1 实验目的本次实验旨在通过实际操作,验证和巩固SQL语言在关系型数据库管理中的应用能力,并加深对数据库设计、数据操作以及数据查询与分析的理解。
具体实验目的包括:学习SQL基础:掌握SQL语言的基本语法和常用命令,包括数据类型定义、表格创建、插入、更新和删除操作。
sql数据库实训报告
sql数据库实训报告1.引言SQL(Structured Query Language)是一种用于管理关系数据库系统的计算机编程语言。
在日常生活和工作中,我们难免会遇到需要存储和管理大量数据的情况,而SQL数据库正是解决这类问题的有效工具。
在本次实训中,我们学习了SQL数据库的基本概念、语法和操作,以及如何利用SQL数据库进行数据的增删改查等操作。
本报告将总结实训过程中的所学内容。
2.实训目标与环境搭建实训的目标是让学员了解并熟悉SQL数据库的基本操作,并能够运用所学知识完成实际的数据管理和查询任务。
为了实现这一目标,我们需要先行搭建实训环境,包括安装和配置数据库软件等。
3.数据库设计与建表在使用SQL数据库进行数据管理之前,我们首先需要进行数据库设计和建表操作。
数据库设计是根据实际业务需求,确定数据库的表结构、字段类型、主外键关系等,以便于更好地管理和查询数据。
在建表过程中,我们需要考虑到数据的一致性、完整性和安全性等方面的问题。
4.数据导入与查询数据导入是将已有的数据导入到SQL数据库中的过程。
在实际工作中,我们通常会遇到需要存储和管理大量已有数据的情况,而不是从零开始创建数据。
通过数据导入操作,我们可以将Excel表格、CSV文件等数据源快速导入到数据库中,并进行相应的查询操作。
5.数据的增删改查数据的增删改查是SQL数据库最常用的操作之一。
通过SQL 语句,我们可以实现数据的插入、更新、删除和查询等功能。
通过实际的案例演练,我们可以了解到不同类型的SQL语句及其使用方法,以及如何通过这些语句实现对数据的操作。
6.索引和优化在实际的数据库管理中,如果数据量庞大,查询效率就会成为一个较大的问题。
为此,我们需要对数据库进行索引和优化操作,以提升查询效率。
通过在适当的字段上添加索引,可以加快数据的查找速度;通过调整数据库的参数设置和优化查询语句,可以提高数据库的整体性能。
7.备份和恢复数据库的备份和恢复是非常重要的工作,尤其在面临数据丢失或数据库受损等情况时。
数据库实验报告(SQL)
四川师范大学计算机学院实验报告册院系名称:计算机科学学院课程名称:数据库原理概论实验学期2013 年至2014 年第二学期专业班级:网络工程3班姓名:学号:指导教师:**实验最终成绩:《数据库原理》实验大纲课程总学时:64学分:2实验学时:32 实验个数: 7 实验学分: 1课程性质:(专业必修)适用专业:计算机软件工程,计算机科学技术,网络工程,电子商务教材及参考书:数据库系统概论大纲执笔人:俞晓大纲审定人:一、实验课的性质与任务数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。
本实验课程主要是在SQL SERVER 下实现SQL语言的基本操作:建立、修改、删除表格等数据库对象,插入、修改、删除表格中的数据,对数据做多种查询。
并熟悉使用SQL SERVER的系统工具创建数据库,用户等。
最后用VB连接SQL SERVER 做一个简单的数据库系统。
该课程注重教学体系的严密性、教学内容的实用性、知识体系的扩展性。
通过练习,提高学生的动手能力,使学生能较熟练的在SQL SERVER 数据库管理系统中实现数据管理和维护。
二、实验课程目的与要求1.实验目的:本课程的目的和任务是使学生全面地了解和掌握数据库的原理,SQL SERVER系统的基本操作和应用技术,以适应社会对数据库技术应用的大量需求。
2.实验要求:1)实验安排在上机时间进行。
2)实验以前,学生应对实验设计的相关知识点和相关设计技术有所了解3)每个实验要求写出实验报告(实验报告包括:实验内容、目的、实现方法、调试结果)四、实验内容安排:实验1 熟悉SQL SERVER的环境(操作性实验2学时)实验目的了解SQL Server数据库的各个工具软件实验内容使用SQL Server的相关工具,其中包括查询分析器和企业管理器,在查询分析器里写简单的SQL语句,在企业管理器中建立表格等。
SQL实验报告(优秀范文5篇)
SQL实验报告(优秀范文5篇)第一篇:SQL实验报告实验四触发器实验(一)after触发器(1 1)在l l i neitem 表上定义一个 after 触发器, , 当修改列项目e e xtendedprice d i scountx tax 时, , 要把 s orders 表得to o tal pri ce e 一起修改, , 以保证数据一致性C RE ATE T RIGGERtrig _line ite m_ pr ice_ update on line it em fo rupda teaasbegin i f(UPDATE(ex tend edprice)o r UPDATE(tax)or UPD AT E(di scou nt))begin-—声明游标变量指向 inserted 表d eclarecursor_inserted c urs orrea d_onlyofor select order key,linenu mber,exte nd edpr ice, dis coun t, taxfromin ser ted—-息信找查取获量变明声ﻩ声明变量获取查找信息de clare order key in t, @linenumb erint,exte nd edpricereal,disscount real,tax real—-打开游标epoﻩen cursor_i ns ert ed—-标游取读ﻩ读取游标fe tchnextfrom cur sor _i ns erte dint o@o rderkey, @lin enumber,eext ende dprice, @di scount,t axwwhi le FETC H_S TATUS =0 nigebﻩnﻩ—-声明一个变量保存重新计算得新价格cedﻩﻩecl are @n ew_tota lpri cer ealﻩ select @n ew_t otal price= @ext en dedpr ice *(1 -@di scou nt)*(1 +@tax)—-用新得总价格变量更新 orders 表得 t ot alprice puﻩﻩupdate orde rsse t tot alpri ce= new_totalprice where or derkey=orde rkeyen hctefﻩext f ro m cur sor_i nser ted int o@order ke y, @li nenum ber, @ex tende dp rice,discoun t, @taxdneﻩllaedﻩlocate c ur sor_i nser te deend end ﻩ(2)在在 linei tem表上定义一个 aftr er 触发器, , 当增加一项订单明细时, ,自动修改 s orders 表得 total p rice, 以保证数据一致性CREATE TR IGGER tri g_ lineit em_price_ in sert on l ine item ffor inse rta sbegin ——向指量变标游明声ﻩ声明游标变量指向ins erted 表de clarec ursor_inse rtedcursorread_ onl yﻩ for s ele ct orderkey,linenumbe r,ex te ndedp ric e,di scou nt,t axfrom insserte d--声明变量获取查找信息edﻩeclare @orde rk eyint, @lin enumber int,e xten dedp ricereal, @discountreal, @ta xreal -—ﻩ-打开游标open cursor_i ns erte d--ﻩ-读取游标fe tc hnex tf romcu rsor_ins ertedinto@o rd erkey,li nen umbeerr, ex ten ded pric e,dis count,tax ihwﻩile @@FE TCH_ STATU S=0 ebﻩegin-—格价新得算计新重存保量变个一明声ﻩﻩ声明一个变量保存重新计算得新价格cedﻩclare @n ew_tot alprice realcelesﻩct new _to ta lprice= @extend edp rice *(1-d is count)*(1+tax)—-新更量变格价总得新用ﻩﻩ用新得总价格变量更新orders 表得totalpri ceﻩ u pda teor ders s ett ota lpric e=total pric e+ @new_ tota lpr ice wwhhe re o rderke y=orderkeytefﻩetch next from cursor_ ins erte dinto o rder key, @l inen umber,e xtendeddp ric e, @disc ou nt, @t axeend aedﻩdeall oca te cu rsor_in serted en d(3)在l in e ite m表上定义一个a ft er触发器, , 当删除一项订单明细记录时, ,自动修改 orders 表得 tot a lprice, 以保证数据一致性CREATE TRI GG ER trig _line item_price_de let eon line item fo r de let eAAS begin--声明游标变量指向delet ed 表de clar e curso r_d eleted cursorre ad _on lyesrofﻩﻩele ctord erk ey,line numbe r,extende dp rice,discoun t, taxfromdel eted-ﻩ--声明变量获取查找信息declare ord erkey int,linenum be rint,extendedp ri ce r eal,discou nt real,ta xreal -—ﻩ-打开游标epoﻩen c urso r_ deleted——标游取读ﻩ读取游标efﻩetch next fr om cur sor_delete d in toorder ke y,l inenumb er,ext enddedprice, @di scoun t,taxwh ile@FETCH_STATUS=0begi n-—声明一个变量保存重新计算得新价格ﻩ declare @ne w_ to talpric erealﻩsselec t@new_t otalpr ice= @exte nde dpri ce*(1-@disco unt)*(1+ tax)-ﻩ-—用新得总价格变量更新orders 表得tot alp rice uﻩﻩupd ateorders set t otalpri ce=to talpr ice-@new _totalp rice wh er e order key= @ord erkeyfetchn ext f rom cursor_inse rt ed in to orderkey, @line numbe r,extendeeddprice, @d iscou nt,t ax dneﻩndddeal lo cat e cur sor_inse rted eend((4 4))验证 up d at e触发器—-查瞧号订单得 to ta a l pr i ceselec t*fro o mo o r ders whereorde r key=1 8 30;—-查瞧明细表得相关信息se l ect *f ro mlin ei i te e mw here or de e r key=183 0and l ine num m be e r =1;——验证 e update 触发器updat elineitem set t ax=tax+0、05whe re orderkey=1830;(二)i i n steadof触发器((1))在在 lineit em 表上定义一个ins tead o fupda te触发器, 当修改明细表中得数量量quan ti ty 时, 应先检查供应表par tsupp 得av ai lqty 就是否足够, 不足够则拒绝执行, 否则执行并修改相应数值以保证数据一致性于由于 in steadof 触发器更新某个表会使得该表上其她不满足更新列不能更新,因因用此逆向思维使用 a fter 触发器实现相同效果即先更新 qu antity, 再比较av ailqqtty, 如果满足更新数量, 就修改partsupp 得表得 a vailqty, 如果不满足, 则把lineitem得quantity 更新之后得数据重新修改回来ccreate trigge r trig_lin eit em_quanti ty_ upda teonli neit em f or upda teas begin if UPDATE(qu ant ity)bbegin ——向指别分量变标游明声ﻩ声明游标变量分别指向 i nserted 表与 d el eted 表edﻩdeclare c urso r_inser tedcur sorr ead_on lyfortcelesﻩﻩtorde rkey, partk ey,s uppkey,lin enum ber, quantit yfr om i nserteddecl arecursor_de leted c urs orrea d_ onl yf or select quantityfr om deleted-—息信找查取获量变明声ﻩ声明变量获取查找信息decl are@qu an tity _dif f_lineitem i nt,q uanti ty_pa rtsup p i nt cedﻩclare suppkey int, @par tke y in t,o rd erkey i nt,unenilﻩﻩum ber int ,qty _inserted in t , @qty_deleted int--打开游标ruc nepoﻩrsor_in sert ed poﻩopen cur sor_d eleted-—量变给赋值数标游取读ﻩ读取游标数值赋给变量fﻩfet chnext fromcu rsor_ insert edﻩiinto or de rk ey,pa rtkey, @suppk ey, @line nu mber, @qty _ins erte df et chnext fromcursor _d eletedint o q ty _de lete dwhi le fe tch_st atus=0 gebﻩegin--计算订单明细修改时, 订购数量得变化值inserte d表项-d elet ed表项ssel ect quantity_d if f_ li neit em= @q ty _in se rte d—@@q ty_deleteedﻩ--从parts upp 表获取ava ilq ty值, 注意partsupp 表得主键为(partk ey,suppkeey)tcelesﻩﻩt@quanti ty_p ar tsupp =av ailq ty fro m pa rtsu ppwﻩﻩwh er e suppkey= suppke yand part key= @par tk ey-—断判始开ﻩﻩ开始判断gebﻩbegi nfiﻩf quant ity _d iff_ lin eite m=0ﻩﻩ p rin t“ 更新得数量与原表中得值相同, 不需要更新”e ls eif @quantit y_d iff_lin eitem 〈=q uantity_partsuppﻩbe ginﻩpuﻩﻩpd ate partsupps et avail qty= availqty-@qua ntit y_d iff_li ne item ﻩpus erehwﻩppkey=suppkeyandp artkey= @par tke yﻩﻩ p rint “ 两个表都更新成功’ ﻩﻩﻩneﻩndels eigebﻩﻩinﻩuﻩﻩupdate li nei temsetquantit y=quantity+ @quanti ty_diff_linei temwhe re o rd erke y=@orde rke y and li nenu mber= @liine numberﻩp ri nt '更新失败”ﻩﻩendﻩ e nd efﻩﻩetch ne xtfr om c urso r_i nsertedi nto @ord erke y, @partkey,s upp key, @linenumb er, @qt y_ ins ert edf etch ne xt from curso r_de leted into @qt y_d elet ed dneﻩndd eallocat e cur sor _i nserte ddealloc at e cursor_de le ted eend eend(2)在在 l ineite m表上定义一个 instea d of in sert 触发器, 当插入明细表中一条记录时时, 应先检查供应表par tsupp 得得 ava il qt y就是否足够qu anti ty 得数量c rea te t rig ger tri g_lineitem_q ua nti ty_ insertonline item iinstead of inser t as bbegin-—声明游标变量指向 inserte d表d eclar e cur sor_inserte dcur sorrea d_ only f orsﻩﻩselect or derk ey,pa rtkey,sup pk ey, lin en umber,q uantityf rom ins er ted-—声明变量获取查找信息dec lare quantity int, @av ailq ty i nt, @suppkeyin t, @partkeyinntt, @o rderkey int, @linenu mber int-—标游开打ﻩ打开游标c nepoﻩcurs or_ins erted -ﻩ-—读取游标f etc hnext fro mcursor_insert edint o@orde rkey,partkey,@@ssuppkey, @linenumber,qu antity wh ile @@FETCH_S TATUS= 0igebﻩin--为变量赋值a tcelesﻩavailqtyy==av ai lqt y fr ompartsuppwﻩwhe re suppkey =@su ppk ey and part ke y= partke yﻩ if @quant ity 〈= @avail qt y-—如果可以更新bﻩbegin /ﻩﻩﻩ/*将将 insert ed 表中得记录插入到明细表*/ ﻩsniﻩserti nto l ineite m select *from i nsertedro=yekredroerehwﻩﻩrderk ey andlinenumb er = @linenumber */ﻩﻩ新更时同ﻩ*同时更新 part supp 表得数量*/ﻩﻩuupd ate pa rtsup pset a vailqty=availqty-@quanti tyﻩerehwﻩe sup pke y= @sup pkey and partkey=part key ppr int ’paarts upp 表有足够得货物可以满足 lin eitem 得quan tityy, 插入成功’endelsebeginﻩﻩ p rintt''pa rt sup p表没有足够得货物可以满足 l ineitem 得得q uantity,插入失败’dneﻩfﻩﻩfetc h next from curso r_ins ert ed in to@ord erkey, partkey, suppkey, @liinenumbe r, qu antity eﻩen ddeall ocat ecursor_ inserted end(3)在在 line ite m表上定义一个 inste ad of del ete 触发器,当当删除明细表中记录时时, 同时改变表供应表 partsupp 得ava il qtyy数值 c re ate trigge r tri g_ lin eit em_quanti ty_ del ete o n line item inste ad of del ete as be gin—-声明游标变量指向deleted 表de cla re curs or_ del eted c ursorread _only forlesﻩﻩelect or derke y, par tkey,sup pkey, linenumbe r,quan tity fr om deleted -ﻩ--声明变量decl are s upp key i nt, par tke yint, @orde rkey int,linen umb erint, @quaant it y int—-标游开打ﻩ打开游标opencursor_deleted-—标游取读ﻩ读取游标ffetch next fr omcurs or _del et edin to @ord erkey , @partkey,s uppkeey, @lin en umber,q ua ntitywhi leFFET CH_ STATUS=0 igebﻩin*/*除删ﻩ*删除*/ﻩ de let e fromlineite m where linenu mber= line number and o rde rkey =ordder key*/新更时同ﻩ同时更新 pa rt supp 表得数量*/u pdateparts uppse tavailqt y=a vai lq ty+quant ityﻩ where s uppke y= @s uppkey a nd par tk ey= @p ar tkeyﻩ p rin t’ 删除成功, 并且已经把货物数量归还到 p ar tsup p里“ fﻩﻩfetc h ne xt fr omcurso r_del etedinto @ord er ke y,p ar tkey,@@suppkey, @lin enu mber,quanti ty neﻩnd edﻩea lloc ate cursor_ delete dend(4)验证 update 触发器--查瞧li neit em 得quan tit y select*fr omlin eit em whe re or derk ey =1830and li nenum ber=1;——查询partsupp 表得ava ilqt y se lect * from part supp w here suppk ey =(selectsupp key fr omlin eitem w here ord erkey=18 30)and partk ey=(s elec t part key from lin eite mwh er eorder key =18 30 a nd linenu mber=1)---更新数量过大——更新得值与原值相同---更新到+ + 2 00 数量, , 成功updateli neitem setquant ity=q uanti ty+ 200where order key=1830and lin en umber =1;--更新 +2 00成功后l ineite m得 quanti ty y 变化——更新+200 成功后par ts upp 表得a va ilqty 变化实验到此。
数据库实验报告-使用SQL语句操作数据
数据库实验报告-使用SQL语句操作数据数据库原理实验报告实验名称:实验二使用SQL语句操作数据实验时间:2013.4.16学生姓名:班级:软件学号:一、实验目的1、熟悉SQL Server 2005的基本环境2、使用对象资源管理器管理数据库、基本表、视图、索引等对象3、锻炼学生对SQL Server 2005基本操作能力二、实验内容1、使用对象资源管理器创建SPJ数据库(1)更改主数据库文件的增长模式,改为按5MB自动增长;(2)更改事务日志文件的增长模式,改为按1MB自动增长。
2、在数据库中创建S, P, J, SPJ四个关系模式:S ( SNO, SNAME, STATUS, CITY )P(PNO, PNAME, COLOR, WEIGHT)J(JNO, JNAME, CITY)SPJ(SNO, PNO, JNO, QTY)【说明:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(SNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。
】3、建立数据库关系图。
将建好的数据库和表转化为SQL语句,以sql脚本方式保存。
4、使用对象资源管理器向表中插入下列数据。
SP表5、使用SQL语言完成如下操作:1)求供应工程J1零件的供应商号码SNO。
2)求供应工程J1零件P1的供应商号码SNO。
3)求供应工程J1零件为红色的供应商号码SNO。
4)求没有使用天津供应商生产的红色零件的工程号JNO。
5)求至少用了供应商S1所供应的全部零件的工程号JNO。
6)找出所有供应商的姓名和所在城市。
7)找出所有零件的名称、颜色、重量。
数据库原理综合实验报告
实验六数据库原理综合实验1实验目的(1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。
以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。
(2)对前面章节所学的知识加以综合应用。
2实验内容给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。
(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。
完成下面的工作2.1 数据库概念模型设计(1)进行需求分析。
-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法)(2)识别系统中的实体及实体的属性,分析实体之间的联系。
(3)设计数据库概念模型,画出E-R图。
2.2 数据库逻辑模型设计(1)根据数据库概念模型设计数据库的逻辑模型。
-将E-R模型转化到逻辑模型(2)根据应用需要和规范化理论对逻辑模型进行优化。
2.3 数据库物理模型设计(1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。
(2)优化物理模型(3)生成某种DBMS的SQL语句,创建数据库及其表。
2.4 装载数据(1)收集真实数据或者生成模拟数据。
(2)批量加载数据到数据库中。
(3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,以测试数据库性能。
3实验要求(1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。
(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。
(3)要设计良好的数据库完整性约束。
(4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点?4实验步骤4.1 数据库概念模型设计(1)进行需求分析。
学生需要有学号、姓名、性别、年龄、专业等信息。
选课需要有学号、课号、成绩等信息课程需要有课程号、课程名、先修课、学分等信息(2)设计数据库概念模型,画出E-R图。
数据库实验sql语法实验报告
数据库实验sql语法实验报告数据库实验SQL语法实验报告本次数据库实验主要涉及SQL语法的学习和应用,通过对实验指导书中所给出的数据库进行操作,对SQL语法有了更加深入的理解和掌握。
以下是本次实验的具体内容和结果。
一、实验环境实验环境为Windows 10操作系统,使用MySQL Workbench 8.0作为数据库管理工具。
二、实验步骤1.创建数据库和表格首先需要创建一个新的数据库,使用以下命令:CREATE DATABASE experiment;然后,创建一个新的表格,使用以下命令:CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));2.插入数据接下来,插入一些数据到students表格中,使用以下命令:INSERT INTO students (id, name, age, gender) VALUES (1, '张三', 18, '男'),(2, '李四', 19, '女'),(3, '王五', 20, '男'),(4, '赵六', 21, '女');3.查询数据现在,我们可以查询students表格中的数据,使用以下命令:SELECT * FROM students;这个命令将会返回students表格中的所有数据,包括id,name,age和gender。
4.更新数据如果需要更新students表格中的某一条数据,可以使用以下命令:UPDATE students SET age=22 WHERE id=4;这个命令将会将id为4的数据的age字段更新为22。
5.删除数据如果需要删除students表格中的某一条数据,可以使用以下命令:DELETE FROM students WHERE id=3;这个命令将会删除id为3的数据。
sql数据库实验6答案
实验六:数据表综合查询四、实验内容以数据库原理实验4数据为基础,请使用T-SQL 语句实现进行以下操作:1.查询名字中第2个字为‘向’的学生姓名和学号及选修的课程号、课程名;select a.sname,a.sno,o,ame from student a,course b,sc c where a.sname like'_向%'and a.sno=c.sno and o=o2.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;Select a.sno,sname,sdept,o,grade from student a,course b,sc c Where ame in('数学','大学英语')and a.sno=c.sno and o=o3.查询缺少成绩的所有学生的详细情况;Select*from studentWhere sno in(select sno from sc where grade is null)4.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;Select*from studentWhere sage<>(select sage from student where sname='张力')5.按照‚学号,姓名,所在院系,已修学分‛的顺序列出学生学分的获得情况。
其中已修学分为考试已经及格的课程学分之和;Select a.sno,sname,sdept,sum(ccredit)as已修学分from student a,course b,sc cWhere grade>60 and a.sno=c.sno and o=ogroup by a.sno,sname,sdept6.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;Select a.sno,a.sname,o from student a,sc cwhere Cno in(select Cno from sc where sno in(select sno from student where sname='张力'))and a.sno=c.sno7.查询只被一名学生选修的课程的课程号、课程名;select cno,cname from coursewhere cno in(select cno from sc group by cno having COUNT(*)=1)8.使用嵌套查询出选修了‚数据结构‛课程的学生学号和姓名;select sno,sname from studentwhere sno in(select sno from sc where Cno=(select Cno from course where cname='数据结构'))9.使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和院系;select sname,sage,sdept from studentwhere sage<any(select sage from student where sdept='cs') and sdept<>'cs'10.使用ANY、ALL 查询,列出其他院系中比WM系所有学生年龄小的学生的姓名;select sname from studentwhere sage<all(select sage from student where sdept='wm') and sdept<>'wm'11.分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息;select b.*from student a,student bwhere a.sname='张力'and a.sdept=b.sdept或SELECT*FROM StudentWHERE Sdept IN(SELECT Sdept FROM Student WHERE sname='张力')12.使用集合查询列出CS系的学生以及性别为女的学生学号及姓名;SELECT sno,sname from studentwhere sdept='cs'unionselect sno,sname from studentwhere ssex='女'13.使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集;SELECT *FROM Student WHERE Sdept='CS' EXCEPTSELECT *FROM Student WHERE Sage <=19 SELECT *FROM Student WHERE Sdept='CS' INTERSECT SELECT *FROM Student WHERE Sage <=1914.使用集合查询列出选修课程1的学生学号集合与选修课程2的学生学号集合的交集;SELECT Sno FROM SC WHERE Cno='1'IntersectSELECT Sno FROM SC WHERE Cno='2'。
实验6-SQL-查询附答案
实验六SQL 查询一、实验目的:1.熟练掌握SELECT语句的语法格式2.掌握联接的几种方法3.掌握子查询的表示和执行4.能够对SELECT查询结果进行分组、排序及统计5.能够运用T-SQL语句对表进行数据的插入、修改、删除6.能够通过导入/导出向导进行数据的导入导出二、实验内容:利用实验四中的数据库做如下操作:1.在“学生表”中,找出性别为“男”的学生记录,字段包括“”、“出生日期”和“专业”。
2.在“课程表”中,找出“课程名”中包含“电脑”三个字的课程。
3.在“成绩表”中,找出“课程编号”为“001”的课程成绩前三名学生。
4.在“成绩表”、“学生表”和“课程表”中,找出“课程编号”为“001”的课程成绩在[80,90]之间的学生的、课程名和成绩。
5.在“学生表”中,找出“专业”为“电脑软件”、“电子商务”专业的学生信息。
6.统计“电脑应用基础”课程的平均分。
7.查找各门课程的修课人数。
8.在“成绩表”中,找出课程编号为“001”的这门课程的所有学生的分数以及最高分、最低分和平均分。
9.找出所有女生的“电脑应用基础”这门课的成绩,包括字段:、课程名、成绩。
10.查找“成绩表”中,课程编号为“001”的成绩高于平均分的所有学生的学号、、课程名和成绩。
11.查找“成绩表”中,高于各门课程平均分的学生信息。
12.查找“课程表”中,没有被学生修课的课程信息。
13.将“课程表”中的课程编号为“001”的学分增加1学分。
14.删除学号为“20030101”学生的相关信息。
三、实验过程:启动“查询分析器”,在其文本窗口中输入相应的Transcat-SQL语句,分析并执行,观察输出结果。
1.Use 学生select ,出生日期,专业 from 学生表 where 性别='男'2.use 学生select * from 课程表 where 课程名 like '%电脑%'3.use 学生select top 3 * from 成绩表 where 课程编号='001' order by 成绩 desc4.Use 学生select a.,c.课程名,b.成绩 from 学生表 as a join 成绩表 as bon b.课程编号=001 and a.学号=b.学号 and b.成绩 between 80 and 905.use 学生select * from 学生表 where 专业 in ('电脑软件','电子商务')6.use 学生select avg(成绩)as 平均成绩 from 成绩表 as a join 课程表 as b7.use 学生select 课程编号,count(学号)as 修课人数 from 成绩表 group by 课程编号8.use 学生select * from 成绩表 where 课程编号=001compute max(成绩),min(成绩),avg(成绩)9.use 学生select a.,b.课程名,c.成绩 from 学生表 as a join 成绩表 as c on a.学号=c.学号 and a.性别='女'join 课程表 as bon b.课程编号=c.课程编号 and b.课程名='电脑应用基础'10.use 学生select a.学号,a.,b.课程名,c.成绩 from 课程表 as b join 成绩表 as c on b.课程编号=c.课程编号 and c.课程编号=001 and c.成绩>(select avg(成绩) from 成绩表 where c.课程编号=001)11.use 学生select * from 成绩表 as a where 成绩>(select avg(成绩) from 成绩表 as b where a.课程编号=b.课程编号)12.use 学生select * from 课程表 where not exists(select * from 成绩表 where 成绩表.课程编号=课程表.课程编号)13.use 学生update 课程表 set 学分=学分+1 where 课程编号=00114.use 学生delete 成绩表 where 学号='20030101'。
sql数据库实训报告
sql数据库实训报告SQL数据库实训报告。
一、实训背景。
本次实训是针对SQL数据库的设计与应用进行的,旨在通过实际操作,加深对SQL数据库的理解与掌握,提高数据库设计与管理能力。
二、实训内容。
1. 数据库设计与创建。
在实训开始阶段,我们首先学习了数据库的设计原理与方法,包括实体关系模型(ERM)的绘制,数据库表的设计,以及数据类型的选择等。
在此基础上,我们使用SQL语句创建了一个包含多个表的数据库,并进行了数据的插入与查询操作。
2. 数据库查询与管理。
接着,我们学习了SQL语言的基本语法与常用查询命令,包括SELECT、UPDATE、DELETE、INSERT等,以及各种条件筛选、排序、分组与连接操作。
通过实际练习,我们掌握了如何编写高效、准确的SQL查询语句,并对数据库中的数据进行管理与维护。
3. 数据库应用与优化。
在实训的最后阶段,我们将学习如何将数据库应用到实际的项目中,包括数据库的备份与恢复、性能优化、索引设计等方面的内容。
通过这些内容的学习,我们将能够更好地应对实际项目中的数据库管理与应用需求。
三、实训收获。
通过本次实训,我对SQL数据库的设计与应用有了更深入的理解与掌握。
我不仅学会了如何设计与创建数据库,还能够编写复杂的SQL查询语句,并对数据库进行有效管理与优化。
这些知识与技能对我的职业发展将起到重要的推动作用。
四、实训反思。
在实训过程中,我深刻体会到了理论与实践相结合的重要性。
通过实际操作,我才真正理解了课堂上学到的知识,并且能够运用到实际工作中。
同时,我也意识到数据库设计与管理是一个复杂而又细致的工作,需要不断地学习与实践,才能够不断提高自己的能力与水平。
五、实训展望。
在未来的学习与工作中,我将继续深入学习数据库相关的知识,不断提升自己的数据库设计与管理能力。
我希望能够在实际项目中应用所学到的知识,为企业的数据管理与应用提供更加专业、高效的解决方案。
六、结语。
通过本次实训,我对SQL数据库有了更加全面的认识与掌握,我相信这些知识与技能将成为我未来发展的重要基础。
SQL数据库实验报告实验六
第1部分实验8 存储过程和触发器1.实验目的(1)掌握通过SQL Server 管理平台和Transact-SQL 语句CREA TE PROCEDURE 创建存储过程的方法和步骤。
(2)掌握使用Transact-SQL 语句EXECUTE 执行存储过程的方法。
(3)掌握通过SQL Server 管理平台和Transact-SQL 语句ALTER PROCEDURE 修改存储过程的方法。
(4)掌握通过SQL Server 管理平台和Transact-SQL 语句DROP PROCEDURE 删除存储过程的方法。
(5)掌握通过SQL Server 管理平台和Transact-SQL 语句CREA TE TRIGGER 创建触发器的方法和步骤。
(6)掌握引发触发器的方法。
(7)掌握使用SQL Server 管理平台或Transact-SQL 语句修改和删除触发器。
2.实验内容及步骤(1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print ,该存储过程能够显示26个小写字母。
CREATE PROCEDURE letters_print ASDECLARE @count int SET @count=0 WHILE @count<26 BEGINPRINT CHAR(ASCII('a')+ @count) SET @count=@count +1 END单击查询分析器的“执行查询”按钮,查看studentsdb 数据库的存储过程是否有letters_print 。
使用EXECUTE 命令执行letters_print 存储过程。
(2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。
CREATE PROCEDURE stu_info @name varchar(40)ASSELECT a.学号,姓名,课程编号,分数FROM student_info a INNER JOIN grade taON a.学号= ta.学号WHERE 姓名= @name使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。
(数据库)sql综合实训报告
管理信息系统课程设计——教学成绩管理系统的设计与实现摘要:当前各高校教学成绩的管理,在传统的手工处理模式下,每年学生课程的选择以及成绩的管理都要耗费学生和教师的很多精力,而且效率差、错误率高。
本文就这个问题,通过教学成绩管理系统的设计,提供了一套基于数据库应用系统的解决方案,并进行了系统的设计与实现。
在分析设计阶段我们用到了E-R模型(实体—联系模型)、关系模型等方法,在实施阶段,我们采取SQLServer6.0作为开发工具,得到了教学成绩管理系统的数据库。
其中由丁俊文设计“专业”“班级”的分E-R图并编写《数据库信息文档》和后期视图的设计;由刘志琼设计“系部”“教研室”的分E-R图及整合各分E -R图;由张玉设计“课程”“学院”的分E-R图;由于艳青设计“学生”“教师”的分E-R 图和成绩管理数据库的创建。
关键词:数据库,系统设计,SQL Server一功能需求分析学校各分院正常教务管理系统包括教学计划、师资、教材、教室、学籍、考试、排课、次、评估管理等,其中最重要的仍然是成绩管理,本次实训做的是《成绩管理系统》,包括学院、系部、教研室、专业、教师、学生、课程、等信息管理和课程设置、教学成绩信息管理等方面的,本系统开发任务是实现某学院教学成绩信息管理规范化和自动化,系统的用户有学院领导、成绩管理人员、班主任、教师及学生等。
⑴教师:在校园网(局域网)或互联网录入与查询所代课程成绩数据,查询学院、系部、教研室、专业、教师、学生、课程信息等数据。
⑵班主任:在校园网或互联网录入与查询所负责班级的学生档案信息,查询学院、系部、教研室、专业、教师、学生、课程信息和所管学生成绩等数据。
⑶学生:在校园网或互联网查询学生个人档案信息和成绩信息,查询学院、系部、教研室、专业公共信息和所在班的课程设置等数据。
⑷领导:在校园网或互联网查询本系统所有信息。
⑸成绩管理人员:在校园网或互联网查询本系统所有信息,在校园网维护所有数据。
数据库实验报告 SQL语言
数据库原理及实验报告实验6 视图实验目的:1)掌握交互式创建、删除视图的方法2)掌握使用SQL创建、删除视图的方法3)掌握交互式更新视图的方法4)掌握使用SQL更新视图的方法实验内容6.1实验题目:创建视图实验过程:1)交互式创建视图VIEW_S2)交互式创建成绩视图VIEW_SCORETABLE3)使用SQL创建课程表视图VIEW_CTABLE 实验结果:6.2实验题目:修改视图实验过程:1)使用交互式方法把视图VIEW_S 中的字段SNO 删掉2)使用SQL 为视图VIEW_CTABLE 增加一个课时字段CT tiny int 实验结果:6.3实验题目:通过视图修改数据库数据实验过程:1)交互式通过修改视图VIEW_S中的数据来实现对其基本表S中数据的修改2)对视图VIEW_S执行INSERT语句,查看此视图的基本表S中数据的变化3)修改视图VIEW_S的定义,使其包含表S中的主键,再执行插入操作4)用SQL语句对视图VIEW_S执行DELETE操作,查看此视图的基本表S中数据的变化实验结果:6.4实验题目:删除视图实验过程:1)交互式删除视图VIEW_S2)使用SQL删除视图VIEW_CTABLE实验结果:实验7 数据查询实验目的:1,掌握从简单到复杂的各种数据查询。
包括,单表查询、多表连接查询、嵌套查询、集合查询。
2,掌握用条件表达式表示检索结果。
3,掌握用聚合函数计算统计检索结果。
实验7.1 单表查询实验目的:1,掌握指定列或全部列查询。
2,掌握按条件查询。
3,掌握对查询结果排序。
4,掌握使用聚集函数的查询。
5,掌握分组统计查询。
实验内容:1,指定或全部列查询。
2,按条件查询及模糊查询。
3,对查询结果排序。
4,使用聚集函数的查询。
5,分组统计查询。
实验7.2 连接查询实验目的:掌握设计一个以上数据表的查询方法。
多表之间的连接包括等值连接、自然连接、非等值连接、自身连接、自身连接、外连接和复合连接。
数据库实验(查询的综合练习)[大全5篇]
数据库实验(查询的综合练习)[大全5篇]第一篇:数据库实验(查询的综合练习)实验六综合练习一、实验目的熟练掌握SQL语句的使用二、实验内容1.查询成绩在80~90之间的记录2.查询至少有2个同学选修的课程名3.查询其他系中比“信息系”所有学生年龄都小的学生名单以及年龄,并按年龄降序输出4.查询与学生“张立”同岁的学生姓名5.查询选修了两门以上课程的学生名单6.查询成绩比该课程平均成绩高的学生名单以及成绩,输出课程号、平均分、学号,成绩。
7.查询每个学生各门课程的平均成绩和最高成绩,按降序输出姓名、平均成绩和最高成绩8.查询所有未选01号课程的学生名单9.查询选修了“*********”号学生选修了的课程的学生学号和姓名10.查询所有学生都选修了的课程的课程号和课程名三.心得体会此次试验涉及到单表查询,多表查询,查询中用到了比较运算符,子查询,自身连接等多种方法,要求我们必须熟练掌握SQL语言才能高效快速的完成练习。
同时应该仔细认真地理解题目意思才能防止各类错误的出现。
第二篇:3数据库查询实验实验三数据库查询实验(3)数据库的组合查询和统计查询实验课时安排:2课时一、实验目的和要求使学生熟练掌握SQL Server查询分析器的使用方法.加深对SQL 和Transact-SQL语言的查询语句的理解。
熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
二、实验内容分组查询实验该实验包括分组条件表达、选择组条件的表达方法。
使用函数查询的实验。
该实验包括统计函数和分组统计函数的使用方法。
组合查询实验。
计算和分组计算查询的实验。
三、实验方法将查询需求用 Transact-SQL语言表示;在 SQL Server查询分析器的输入区中输入Transact-SQL查询语句:设置查询分析器的结果区为Standard Execute(标准执行)或Executeto Grid(网格执行)方式.发布执行命令并在结果区中查看查询结果;如果结果不正确要进行修改.直到正确为止。
数据库实验报告实验六SQL语句综合训练
实验六SQL 语句综合训练一、实验目的本次实验是一个综合练习,通过训练,全面掌握SQL SERVER 2008的基本操作语句和功能。
二、实验内容综合练习二有某个学生运动会比赛信息的数据库,保存了如下的表:运动员(运动员编号,运动员姓名,运动员性别,所属系名)项目(项目编号,项目名称,项目比赛地点)成绩(运动员编号,项目编号,积分)请用SQL语句完成如下功能:1.建立数据库,数据库名称为y_x_ccreate database y_x_c2. 建立数据表,并满足如下条件:(1)定义各个表的主码、外码约束(2)运动员的姓名和所属系别不能为空值。
(3)积分要么为空值,要么为6,4,2,0,分别代表第一,二,三名和其他名次的积分。
运动员create table y(yid varchar(10)primary key,yname varchar(10)not null,ysex varchar(10)check(ysex='男'or ysex='女'), ydept varchar(10)not null)项目create table x(xid varchar(10)primary key,xname varchar(10),xwh varchar(10))成绩create table c(cyid varchar(10)references y(yid),cxid varchar(10)references x(xid),credit smallint check(credit=null or credit=6 or credit=4 or credit=2 or credit=0),primary key(cxid,cyid))3.往表中插入数据:运动员(1001,李明,男,计算机系;1002,张三,男,数学系1003,李四,男,计算机系;1004,王二,男,物理系1005,李娜,女,心理系;1006,孙丽,女,数学系)insert into y values(1001,'李明','男','计算机系') insert into y values(1002,'张三','男','数学系') insert into y values(1003,'李四','男','计算机系') insert into y values(1004,'王二','男','物理系') insert into y values(1005,'李娜','女','心理系')insert into y values(1006,'孙丽','女','数学系')项目(x001,男子五千米,1操场;x002,男子标枪,1操场x003,男子跳远,2操场;x004,女子跳高,2操场x005,女子三千米,3操场)insert into x values('x001','男子五千米','1操场') insert into x values('x002','男子标枪','1操场') insert into x values('x003','男子跳远','2操场') insert into x values('x004','女子跳高','2操场')insert into x values('x005','女子三千米','3操场')成绩(1001,x001,6;1002,x001,4;1003,x001,2;1004,x001,0;1001,x003,4;1002,x003,6;1004,x003,2;1005,x004,6;1006,x004,4)insert into c values('1001','x001',6)insert into c values('1002','x001',4)insert into c values('1003','x001',2)insert into c values('1004','x001',0)insert into c values('1001','x003',4)insert into c values('1002','x003',6)insert into c values('1004','x003',2)insert into c values('1005','x004',6)insert into c values('1006','x004',4)4.完成如下查询(1)求出目前总积分最高的系名,及其积分。
数据库原理实验报告(6)(含答案)
南京晓庄学院《数据库原理与应用》课程实验报告实验六分组统计查询和集合查询设计所在院(系):数学与信息技术学院班级:学号:姓名:1.实验目的(1)熟练掌握数据查询中分组条件表达、选择组条件的表达方法。
(2)熟练使用统计函数和分组函数。
(3)熟练各类计算和分组计算的查询操作方法。
(4)掌握集合查询的实现方法。
2.实验要求(1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下查询操作:a)查询各个院系学生的总人数,并按人数进行降序排列。
b)查询各系各门课程的平均成绩。
c)查询每个院系各种职称的教师人数,输出院系、职称、人数。
d)查询数学与信息技术学院学生的平均年龄。
e)查询07294003课程的最高分和最低分。
f)查询选修人数超过30人,且课程号以07开头的课程号、课程名称和选修人数。
按选修人数降序排列。
g)查询选修了5门以上课程的学生学号。
h)查询年龄大于女同学平均年龄的男同学姓名和年龄。
i)查询SC表中最高分与最低分之差大于20分的课程号。
j)查询平均成绩大于75分的课程的课程号、课程名、平均分。
k)查询期末考试平均分排名前10%的学生,输出学号和平均分。
l)查询教师人数最多的前3个院系,输出院系和教师人数。
m)查询全校老师和学生的姓名,输出姓名和类别两列(类别中显示教师或学生),结果按类别排序。
n)用集合查询实现同时讲授过07294003和07295007两门课的老师的工号。
o)用集合查询实现教师表中职称不是教授的老师的详情。
(2)按要求完成实验报告。
3.实验步骤、结果和总结实验步骤/结果将调试成功的T-SQL语句写在下方(标明题号)。
a)查询各个院系学生的总人数,并按人数进行降序排列。
select DEPT_ID, COUNT(*) 总人数 from dbo.Studentgroup by DEPT_IDorder by DEPT_ID descb)查询各系各门课程的平均成绩。
sql语言实验报告[最新版]
sql语言实验报告sql语言实验报告篇一:数据库SQL语句实验报告《数据库原理及应用》实验报告SQL语句部分班级: 11-37-06 学号:姓名:总成绩:实验一熟悉SQL SERVER,数据定义实验实验一成绩:一、实验目的1、利用查询分析器创建数据库2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作二、实验步骤及内容在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。
1.创建学生课程数据库6、在表S上增加“出生日期”属性列。
7、删除表S的“年龄”属性列。
8、删除S姓名列的唯一值约束。
9、修改SC表成绩属性列为精确数字型。
10、在表S上,按“Sno”属性列的唯一值方式建立索引。
11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。
12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。
三、实验结果:1.创建学生课程数据库create database Studend; 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。
PRIMARY KEY, Sname CHARUNIQUE, Ssex CHARprimary key, CnameCHARSQL定义语言实验目的:1.熟练掌握SQL语言进行基本表结构的创建。
2.熟练应用SQL语言进行表结构的修改。
3.掌握SQL语言进行基本表的删除。
4.掌握SQL语言进行索引的建立和删除5.选择具体的数据库管理系统进行实现(Access 或SQL Server)实验内容和要求: 1.切换到Access的SQL视图或者打开SQL Server查询分析器进行定义操作2.用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度参照实验一)3.用SQL语言ALTER语句修改表结构;a)STUDENT表中SNO设为非空和唯一;b)STUDENT表中增加一个字段SBIRTH,类型设置为日期时间类型,增加一个ADDRESS字段,类型为文本(字符);c)删除STUDENT表中ADDRESS字段;d)COURSE表中CNO字段设为非空和唯一;4.重新定义一个简单表,然后用SQL语言DROP语句删除该表结构;5.用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引;6.用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引;7.用SQL语言DROP语句删除索引;8.输入部分数据,并试着修改其中的错误;实验过程与步骤:(1)创建学生表student的实现如下:create table student, ssex char , sage smallint, sdeptchar);(2)创建课程表course的实现如下:create table course, cnamechar); (4)创建选课表sc实现如下:create tablesc); (5)表建完后,就是对表结构的操作,可用drop删除表的某一列,create index 创建索引,用add constraint添加属性等,具体操作详见压缩包对实验内容的实现的命令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理》实验报告
专业:计算机科学与技术
班级:09-3
学号:409417080332
姓名:张华超
SQL语言综合练习
一、实验目的:
SQL语言是数据库语言领域中的主流语言,对SQL语言的掌握程度直接关系到数据库学习的好坏。
本次实验通过一个SQL语言的综合练习,对前面的学习的内容进行复习,并加以巩固,希望大家对SQL语言有一个较好的掌握。
二、实验内容
1.启动数据库服务软件SQL Server 2000的查询分析器,用Create Table建表;2.用Insert Into向表中插入记录;
3.用Create View建立视图;
三、实验任务
1.打开数据库SQL Server 2000的查询分析器,用Create Table建表Exam,
2.用Insert Into语句向Exam表中添加6条记录,记录内容如下图所示:
3.查询所有姓赵的学生的基本信息。
4.建立总成绩超过500分的学生视图ViewExam,该视图有两个字段ViewExam1和ViewExam2分别对应表Exam的Name和score字段。
4.查询总成绩超过500分的学生姓名和成绩。
Create Table Exam
(
id varchar(17),
name varchar(10),
sex varchar(2),
age integer,
score decimal(5,2),
memo varchar(100),
primary key(id)
)
insert into Exam (id,name,sex,age,score,memo) values('A0001','赵一','男','20','580.00','学习委员');
insert into Exam (id,name,sex,age,score,memo) values('B0002','钱二','女','19','540.00','班长');
insert into Exam (id,name,sex,age,score,memo) values('C0003','孙三','男','21','555.50','优秀共青团员');
insert into Exam (id,name,sex,age,score,memo) values('D0004','赵四','男','22','480.00','暂无相关信息');
insert into Exam (id,name,sex,age,score,memo) values('E0005','周五','女','20','495.50','暂无相关信息');
insert into Exam (id,name,sex,age,score,memo) values('F0006','吴六','男','19','435.00','暂无相关信息');
select *
from Exam
where name like '赵%';
create view ViewExam (ViewExam1,ViewExam2)
as
select name,score from Exam where score>=500
select name,score from Exam where score>=500;。