进行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实验三数据的更新操作和视图实验报告
实验三数据的更新操作和视图本实验需要2学时。
一、实验目的1、掌握视图的创建、修改和删除操作。
2、掌握数据库数据更新(增加、修改、删除)操作。
二、实验内容和步骤1、视图(1)建立名为UV_SC的视图。
该视图可以让我们看到每个学生的姓名、选修课程名和成绩。
(2)利用UV_SC视图,查看平均成绩在80分以上的学生姓名。
(3)建立名为UV_Course的视图,该视图显示每门课的课程名和选修该课程的学生人数。
(4)修改视图UV_Course,在视图中增加一列,显示选修该课程所有学生的平均成绩。
(5)建立名为UV_IS_Depart的视图。
该视图可以用来查看“信息系”的学生的学号、姓名、年龄和系名。
并保证对该视图的修改满足系名为信息系的条件。
(6)建立名为UV_Student的加密视图。
该视图可以用来查看每个学生选修的课程门数和平均成绩。
(7)利用UV_Student视图,查询平均成绩在80分以上的学生学号。
(8)能否利用视图UV_Student,修改某个学生的平均成绩?(9)删除视图UV_Student。
2、数据更新(1)向STUDENT表增加如下记录:(2)将学号’95011’,成绩80,以及课程表中的所有课程号插入到SC表中。
(3)建立与表STUDENT同结构的空表STUD。
然后利用INSERT命令把表STUDENT中年龄大于19的学生记录添加到表STUD。
(注意:可以使用select into语句实现同结构空表的创建,再使用insert命令插入记录;或者使用单条select into语句实现等同的功能)(4)为“95002”的学生增加选修“操作系统”和“数据结构”这两门课的选课记录。
(5)把课程名为“操作系统”的成绩从成绩表SC中删除。
(试用三种方式完成)(6)将女生的成绩提高10%。
(试用三种方式完成)(7)如果学生“张三”的数据结构的成绩低于65,则加上10分。
(8)将成绩最低的学生的成绩加上10分。
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)找出所有零件的名称、颜色、重量。
SQL数据的查询和更新实验报告报告
SQL数据的查询和更新实验报告报告实验三、SQL的数据查询1、实验目的熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。
2、实验内容实验内容主要是对数据库进行查询操作,包括如下四类查询方式:单表查询查询的目标表达式为所有列、指定的列或指定的列的运算三种不同。
使用DISTINCT保留字消除重复行。
对查询结果排序和分组。
集合分组使用集函数进行各项统计。
连接查询笛卡儿连接和等值连接。
自连接。
外连接复合条件连接。
多表连接。
嵌套查询通过实验验证对子查询的两个限制条件。
体会相关子查询和不相关子查询的不同。
考察四类谓词的用法,包括:第一类,IN、NOT IN;第二类,带有比较运算符的子查询;第三类,SOME、ANY或ALL谓词的子查询,查询最大值和最小值;第四类,带有EXISTS谓词的子查询,实现“所有”等情况集合运算使用保留字UNION进行集合或运算。
采用逻辑运算符AND或OR来实现集合交和减运算。
3、实验步骤以University_Mis数据库为例,该数据库中有四张如实验一,其中Score是每门课的考试成绩,Scredit是学生所有考试合格课程所获得的积分总数,Ccredit每门课程的学分数。
在数据库中,存在这样的联系:学生可以选择课程,一个课程对应一个教师。
在表Reports中保存学生的选课记录和考试成绩。
1请先输入如下元组,再对数据库进行有关的查询操作:图、Students表图、Teachers表图、Courses表图、Reports表2查询性别为“男”的所有学生的名称并按学号升序排列。
查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。
积分的计算公式为:[1+(考试成绩-60)*]*Ccredit。
考试成绩>=60。
查询学分是3或4的课程的名称。
查询所有课程名称中含有“算法”的课程编号。
查询所有选课记录的课程号。
统计所有老师的平均工资。
SQL实验四_SQL的数据更新
SQL实验四_SQL的数据更新第一篇:SQL实验四_SQL的数据更新实验四、数据更新1、实验目的熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、更新、删除操作。
2、实验内容λ在本实验中,主要内容是如何用SQL语句对数据进行更新。
λ使用INSERT INTO语句插入数据,包括插入一个元组或将子查询的结果插入到数据库中两种方式。
λ使用UPDATE语句可以修改指定表中满足WHERE子句条件的元组,有三种修改的方式:修改某一个元组的值;修改多个元组的值;带子查询地修改语句。
λ使用DELETE语句删除数据:删除某一个元组的值;删除多个元组的值;带子查询地删除语句。
3、实验步骤在数据库University_Mis上按下列要求进行数据更新。
(1)使用SQL语句向Students表中插入元组(Sno:S78;Sname:李迪;Semail:***********.cn;Scredit:0;Ssex:男)。
(2)对每个课程,求学生的选课人数和学生的平均成绩,并把结果存入。
(3)在Students表中使用SQL语句将姓名为李迪的学生的学号改为S70。
(4)在Teachers表中使用SQL语句将所有教师的工资加500元。
(5)将姓名为刘华的学生的课程“数据库原理及其应用”的成绩加上6分。
(6)在Students表中使用SQL语句删除姓名为李迪的学生信息。
(7)删除所有选修课程JAVA的选修课记录。
(8)对Courses表做删去学分<=4的元组操作,讨论该操作所受到的约束。
第二篇:实验四SQL语言实验四 SQL语言——数据更新操作2007-06-16 01:12:44|分类:课程作业 |标签:数据更新操作sql 语言|字号大中小订阅实验四 SQL语言——数据更新操作三、实验条件与环境1.通用PC机2.PC机必须安装Windows 2000系列、Windows XP系列或Windows NT操作系统平台 3.PC机还须安装Microsoft SQL Server 2000 任意一版本(个人版、标准版、企业版)4.最好有一台公用的SQL Server 2000 服务器四、实验目的1.通过上机实验进一步加深对SQL数据更新(插入、修改及删除)语句的基本语法格式的掌握2.通过上机实验掌握单个元组插入操作的实现过程3.通过上机实验掌握多个元组插入操作的实现过程4.通过上机实验掌握单个元组修改操作的实现过程5.通过上机实验掌握多个元组修改操作的实现过程6.通过上机实验掌握单个元组删除操作的实现过程7.通过上机实验掌握多个元组删除操作的实现过程8.通过上机实验加深对更新操作时数据库中数据一致性问题的了解9.通过上机实验加深对约束条件在数据更新操作执行中的作用问题的了解五、实验要求1.本实验所有实验内容要求在规定时间(2课时)内完成2.实验内容中涉及到的各更新操作均通过SQL语言来实现3.本实验中各操作内容的执行均会更新当前数据库,为便于下一实验内容的顺利执行,请在每成功完成一个实验内容后重新导入初始状态下的实验数据库4.实验完成后需要书写实验报告,本次实验报告需在下次实验课堂上上交六、实验内容:1.在S表中插入元组“s6,华誉,402.在J表中插入元组“j8,传感器厂”3.对每一个供应商,求他为各种工程供应零件的总数量,并将此结果存入数据库4.将P表中PNO值为p6的元组的color属性值改为绿,weight 属性值改为605.将SPJ表中前4个元组的qty属性值统一修改为3006.将S表中city属性名含有“京”或“津”的相应status属性值增加1007.将供应商s2为“一汽”工程项目所供应的零件数量修改为20008.将全部红色零件的颜色修改为浅红色9.由s5供给j4的零件p6改为由s3供应,请在数据库中作必要的数据修改10.在SPJ表中新增一列属性名为SDATE的属性列,对该表中的每一元组在SDATE属性列上填上实验当时的日期和时间11.删除所在城市为“广州”的供应商记录12.删除所有零件名称中第一个字为“螺”字的零件记录,并在供应情况表中删除相应的记录13.删除s3和s4两供应商为“三建”工程供应“螺母”或“螺丝刀”零件的相应供应情况数据信息七、实验总结:数据更新操作(插入操作[INSERT]、修改操作[UPDATE]、删除操作[DELETE])是关系数据库系统中一种极为重要、数据更新能力强、使用灵活的数据操纵方式,此数据操作的使用不是完全独立的,而是和数据定义操作、数据查询操作有着紧密联系的。
sql作业实验报告
实验报告—基本表的创建、查询及更新任务实验日期和时间:实验室:班级:学号:姓名:实验环境:硬件:软件:实验目的:本次实验的主要目的是……实验主要任务:(不够时另附页)一.建立各个表的SQL语句。
二.单表查询操作及(任选三题结果截图附上)。
三.多表查询操作其结果截图(任选三题结果截图附上))。
四.数据更新及其结果截图(最后附上四个基本表的数据截图)。
一.利用查询分析器在数据库ShiYan中建立以下四个数据表(S表,P表,J表,SPJ 表),并依次向各数据表中输入相应的数据记录。
(1) 供应商表S(NO,SNAME,STATUS,CITY)SNO:表示供应商编号,定义其为长度为4字节的字符串类型。
SNAME:表示供应商的名称,定义其为最大长度为20字节的变长字符串类型。
STATUS:表示供应商的基本状况,定义其为短整数类型。
CITY:表示供应商所在的城市,定义其为最大长度为30字节的变长字符串类型。
要求:SNO字段为表的主键,其属性值必须不重复且不允许取空值,SNAME属性值不允许取空值。
(2) 零件表P(PNO,PNAME,COLOR,WEIGHT)PNO:表示零件的编号,定义其为长度为4字节的字符串类型。
PNAME:表示零件的名称,定义其为最大长度为20字节的变长字符串类型。
COLOR:表示零件的颜色,定义其为长度为6字节的字符串类型。
WEIGHT:表示零件的重量,定义其为实数类型且缺省值为0。
要求:PNO字段为表的主键,PNAME属性值不允许取空值。
(3) 工程项目表J(JNO,JNAME,CITY)JNO:表示工程项目的编号,定义其为长度为4字节的字符串类型。
JNAME:表示工程项目的名称,定义其为最大长度为20字节的变长字符串类型。
CITY:表示工程项目所在的施工城市,定义其为最大长度为30字节的变长字符串类型。
要求:JNO字段为表的主键,其属性值必须不重复且不允许取空值,JNAME属性值不允许取空值。
实验五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语言在数据库操作中的强大功能,也让我们对关系型数据库的操作更加熟悉,更能巧妙的应用在各种场合里。
3.使用SQL语句进行数据更新操作
实验三使用SQL语句进行数据更新操作●目标✓完成本实验,将能够:使用SQL语句对数据表进行更新,完成数据的插入、更新以及删除操作。
●实验预估时间:40 min练习 1 使用SQL 语句更新数据表在本练习中,将使用SQL语句完成对数据表的更新操作,并使用查询语句检测更新后的结果。
实验步骤:1)启动SQL Server20052)登录数据库服务器3)完成数据库和数据表的构建工作:打开并运行在服务器上共享的数据库构建文件xsgl.sql文件,具体方法为:a)将服务器上共享的xsgl.sql文件复制到本地磁盘b)双击本地磁盘中的xsgl.sql文件,并在弹出的“连接服务器”对话框中点击“连接”按钮。
c)按键盘上的“F5”键运行xsgl.sql文件中的数据库和数据表的SQL构建语句。
4)使用Select语句检索xs表中的所有学生的详细信息。
5)使用Update语句将xs表中所有专业为“信息管理”的学生总学分增加5个。
6)使用Select语句再次对xs表中的所有学生的详细信息进行检索,检测数据是否按照要表更新。
7)使用Delete语句删除xs表中学号为“2006030101”的学生记录。
8)再次使用Select语句检测相应的学生记录是否被删除。
注:数据SQL语句格式:数据更新:UPDA TE <表名>SET <列名1>=<值1>[, <列名2>=<值2>, <>=<>, …. <列名N>=<值N>]WHERE <更新条件>数据查询:SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>] …FROM <表名或视图名>[,<表名或视图名> ] …[ WHERE <条件表达式> ]练习 2 使用SQL 语句更新数据表在本练习中,将使用SQL语句完成对数据表查询操作,掌握查询语句的使用方法。
数据更新-宁剑-SQL实验报告4
实验四数据更新
一.实验目的
1.熟悉使用UPDATE/INSERT/DELETE语句进行表操作;
2.能将这些更新操作应用于实际操作中去;
二.实验准备
1.了解这些更新语句的基本语法和用法;
三.实验要求
1.完成下面的实验内容,并提交实验报告;
2.在实验报告中附上相应的代码;
四.实验内容
1.对于student表,将所有专业号为‘001’的,并且入学年份为2006的学生,或是专业号为‘003’,并且年龄小于20岁的学生的班级号改为‘001’。
2.对于student表,删掉所有年龄小于20岁,并且专业号为‘003’的学生的记录。
3.对于student表,插入一条新记录,它的具体信息为,学号:2007110011、姓名:张
三、性别:男、出生日期:19880808、院系编号:‘001’、专业编号:
‘001’、班级号:‘001’、入学时间:20070901。
4.对于student表,将入学时间最晚的学生和年龄最小的学生的联系方式去掉。
5.对于student表,将平均年龄最小的一个院系的院系编号改为‘008’。
6.把机械工业出版社出版的图书的定价上调10%。
UPDATE BOOK
SET PRICE = PRICE * 1.1
WHERE PUBLISH = ‘机械工业出版社出版’
7.删除有关电子工业出版社出版图书的借阅记录。
DELETE
FROM BORROW,BOOK
WHERE BORROW.BOOKID = BOOK.BOOKID AND BOOK.PUBLISH = ‘电子工业出版社’。
实验五SQL语言-数据更新操作报告
实 验 报 告专业:计算机应用技术 班级:08计专(1)班 学号:200813131134 姓名:熊少容 课程名称:数据库原理与应用 学年200 9-201 0学期1 /2 课程类别 专业必修 限选 任选 实践 实验时间2010 年 6月3日 实验名称实验五 SQL 语言-数据更新操作实验目的和要求1. 通过上机实验进一步加深对SQL 数据更新(插入,修改及删除)语句的基本语法格式的掌握。
2. 通过上机实验掌握单个元组插入操作的实现过程。
3. 通过上机实验掌握多个元组插入操作的实现过程。
4. 通过上机实验掌握单个元组修改操作的实现过错。
5. 通过上机实验掌握多个元组修改操作的实现过程。
6. 通过上机实验掌握单个元组删除操作的实现过程。
7. 通过上机实验掌握多个元组删除操作的实现过程。
8. 通过上机实验加深对更新操作是数据库中一致性问题的了解。
9. 通过上机实验加深对约束调焦在数据库更新操作执行中的作用问题的了解。
实验软硬件要求安装windows xp 和sql server 2000的计算机实验内容、方法和步骤(可附页)见附页实验结果(可附页)见附页小结通过本次实验进一步加深对SQL 数据更新(插入,修改及删除)语句的基本语法格式的掌握,在实验过程中遇到了一些问题,在经过反复的思考之后,渐渐地把哪些问题解决了,以后学习数据库还要花很多的心思,多思考,多动手。
评定成绩: 批阅教师: 年 月 日√ √实验内容,方法和步骤:实验内容:1.在s表中插入元组“s6,华誉,40,020*******”。
2.在j表中插入元组“j8,传感器厂”。
3.对每个供应商,求他为各种工程供应零件的总数量,并将此结果列入数据库。
4.将p表中pno值为p6的元组的color属性值改为绿,weight属性值改为60。
5.将spj表中前4个元组的qty属性值统一改为30。
6.将s表中city属性名含有“京”或“津”的相应属性值增加100。
实验一:数据定义及更新语句练习报告
实验一:数据定义及更新语句练习一实验目的:熟练掌握用SQL语句实现数据库和基本表的创建、数据的更新。
二实验内容:(一)用SQL语句建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(教材第二章习题5中的四个表),要求实现关系的三类完整性。
S(SNO,SNAME,STA TUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
(二)更新表数据:1.利用Insert 语句将习题中给出的示例记录插入各表。
2.利用Update更新表中的记录:①将p表中的所有红色零件的重量增加5。
②将spj表中所有天津供应商的QTY属性值减少10。
用子查询。
3.利用Delete语句删除p表中的所有红色零件的记录。
4.SQL语句执行后返回基本表查看更新后的结果,如果与期望不符,分析原因并记录在实验报告中。
三完成情况:(一)CREATE DATABASE MYSPJ;CREATE TABLE S(SNO CHAR(10) PRIMARY KEY,SNAME CHAR(10) UNIQUE,STATUS SMALLINT,CITY CHAR(10));CREATE TABLE P(PNO CHAR(10) PRIMARY KEY,PNAME CHAR (20),COLOR CHAR(10),WEIGHT SMALLINT);CREATE TABLE J(JNO CHAR(10) PRIMARY KEY,JNAME CHAR(20),CITY CHAR(10));CREATE TABLE SPJ(SNO CHAR(10),PNO CHAR(10),JNO CHAR(10),QTY SMALLINT,PRIMARY KEY (SNO,PNO,JNO));(二)1. INSERT INTO SVALUES('S1','精益',20,'天津'); INSERT INTO SVALUES('S2','盛锡',10,'北京'); INSERT INTO SVALUES('S3','东方红',30,'北京'); INSERT INTO SVALUES('S4','丰泰盛',20,'天津'); INSERT INTO SVALUES('S5','为民',30,'上海');INSERT INTO PVALUES('P1','螺母','红',12);INSERT INTO PVALUES('P2','螺栓','绿',17);INSERT INTO PINSERT INTO PVALUES('P4','螺丝刀','红',14); INSERT INTO PVALUES('P5','凸轮','蓝',40);INSERT INTO PVALUES('P6','齿轮','红',30);INSERT INTO JVALUES('J1','三建','北京');INSERT INTO JVALUES('J2','一汽','长春');INSERT INTO JVALUES('J3','弹簧厂','天津'); INSERT INTO JVALUES('J4','造船厂','天津'); INSERT INTO JVALUES('J5','机车厂','唐山'); INSERT INTO JVALUES('J6','无线电厂','常州'); INSERT INTO JVALUES('J7','半导体厂','南京');INSERT INTO SPJVALUES('S1','P1','J1',200);INSERT INTO SPJVALUES('S1','P1','J3',100);INSERT INTO SPJVALUES('S1','P1','J4',700);INSERT INTO SPJVALUES('S1','P2','J2',100);INSERT INTO SPJVALUES('S2','P3','J1',400);INSERT INTO SPJVALUES('S2','P3','J2',200);INSERT INTO SPJVALUES('S2','P3','J4',500);INSERT INTO SPJVALUES('S2','P3','J5',400);INSERT INTO SPJVALUES('S2','P5','J1',400);INSERT INTO SPJVALUES('S2','P5','J2',100);INSERT INTO SPJINSERT INTO SPJVALUES('S3','P3','J1',200);INSERT INTO SPJVALUES('S4','P5','J1',200);INSERT INTO SPJVALUES('S4','P6','J3',200);INSERT INTO SPJVALUES('S4','P6','J4',200);INSERT INTO SPJVALUES('S5','P2','J4',200);INSERT INTO SPJVALUES('S5','P3','J1',200);INSERT INTO SPJVALUES('S5','P6','J2',200);INSERT INTO SPJVALUES('S5','P6','J4',500);SELECT *FROM SPJ;2.利用Update更新表中的记录:①将p表中的所有红色零件的重量增加5。
sql语句的实验报告
竭诚为您提供优质文档/双击可除sql语句的实验报告篇一:sQL语言实验报告《数据库原理及应用》实验报告sql语句部分班级:11-37-06学号:姓名:总成绩:实验一熟悉sqlserver,数据定义实验实验一成绩:一、实验目的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.创建学生课程数据库createdatabasestudend;5.将以上创建表s、c、sc的sql命令以.sql文件的形式保存在磁盘上。
(snochar(9)primarykey,snamechar(20)unique,ssexchar(2 ),sagesmallint,sdeptchar(20),);3.创建课程关系表c:(cnochar(4)primarykey,cnamechar(40),cpnochar(4),ccre ditsmallint,);(snochar(9),cnochar(4),gradesmallint,);5.将以上创建表s、c、sc的sql命令以.sql文件的形式保存在磁盘上。
6、在表s上增加“出生日期”属性列。
altertablesaddsbirthdaydatetime;7、删除表s的“年龄”属性列。
altertablesdropcolumnsage;8、删除s姓名列的唯一值约束。
altertablesdropuq__s__7d78a4e7;9、修改sc表成绩属性列为精确数字型。
实验四 SQL语言更新
实验四数据更新操作(一)、实验目的1、掌握利用INSERT、UPDATE和DELETE命令实现对表数据插入、修改和删除等更新操作;2、掌握在企业管理器中对表数据插入、修改和删除等更新操作。
(二)、实验内容与要求分别用查询分析器和企业管理器中对表S,C,SC中执行以下更新操作:①将下列数据分别插入表S、C、SC(66页);S:Sno Sname Ssex Sage Sdept20501 李涛男19 信息20502王林女18 计算机20503陈高女21 自动化20504张杰男17 自动化20505吴小丽女19 信息20506徐敏敏女20 计算机C:Cno Cname Ccredit CteacherC0001 C语言 4 王军C0002离散数学 2 李林林C0003操作系统 3 陈强C0004管理信息系统 3 张娟C0005数据结构 4 李小文C0006数据库 4 张丽C0007汇编语言 3 赵南C0008信息基础 2 陈国栋SC:Sno Cno Score20501 C0001 9020501C0002 8520502 C0001 8420502C00029420502C00038320503 C0001 7320503C00076820503C00048820503 C0005 8520504C00026520504C00059020504 C0006 7920505 C0002 89②在表S、C、SC上练习数据的修改操作。
③如果要在表SC中插入某个学生的选课信息(如:学号为“20505”,课程号为“c0006”,成绩待定),应如何进行?④将“20504”学生的成绩置零;⑤删除20504学生的选课记录;(三)、实验仪器与材料硬件:计算机、256M以上内存,40G以上硬盘。
软件:Windows XP,SQL Sever2000(四)、实验步骤:一、企业管理器1.表S,C,SC更新操作。
数据库实验报告数据更新
大连海事大学数据库原理课程实验大纲实验名称:实验四数据更新实验学时: 2 适用专业:智能科学与技术实验环境: SQL Server Management Studio 1实验目的(1)掌握SQL数据更新语句的基本使用方法,如UPDATE、DELETE、INSERT。
(2)掌握更新语句条件中的嵌套查询使用方法。
2实验内容2.1掌握SQL更新语句的基本使用方法(1)INSERT基本语句。
(2)UPDATE基本语句。
(3)DELETE基本语句。
2.2掌握SQL更新语句的高级使用方法(1)INSERT批量插入语句。
(2)UPDATE语句使用嵌套子查询。
(3)DELETE语句使用嵌套子查询。
3实验要求(1)深入复习教材第三章SQL有关更新语句。
(2)根据书上的例子,针对TPCH数据库模式设计各种更新语句,每种类型更新语句至少要设计一个,描述清楚数据更新要求,运行你所设计的更新语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。
也可以按照附1所列示例查询做实验。
(3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。
4实验步骤4.1掌握SQL更新语句的基本使用方法(1)INSERT基本语句(插入全部列的数据)。
插入一个新顾客的记录,要求每列都给一个合理的值SET SEARCH_PATH TO SALES,PUBLIC;INSERTINTO CUSTOMER(CUSTKEY,NAME,ADDRESS,NATIONKEY,PHONE,ACCTBAL,MKTSEGMENT,COMMENT) VALUES('28','陆奕诚',’江苏','40','140',2,'1市区','我');(2)INSERT基本语句(插入部分列的数据,要求随机生成某些数字列或者字符列的数据)。
插入一条订单记录,可以只给出必要的几个字段的值,其中数值字段可以用RANDOM函数随机生成数值INSERTINTO ORDERS(ORDERKEY,CUSTKEY,TOTALPRICE,SHIPPRIORITY)VALUES(2600,17,1000000*RANDOM(),10000*RANDOM());(3)UPDATE基本语句(修改所有记录的某些列的值)。
实验三 SQL语言之DML数据更新
实验三SQL语言之DML数据更新一、实验目的本次实验了解DML语言的INSERT、UPDATE、DELETE等数据更新语言,学会在Oracle SQL Developer 中用DML语言的INSERT、UPDATE、DELETE对表进行数据插入、删除和修改。
二、实验步骤及结果1、运行Oracle SQL Developer,连接数据库,打开sql工作表,在Enter SQL Statement窗口中输入如下SQL语句,建立表test08450214,点击运行脚本按钮,在脚本输出窗口中可以看到“create table 成功”字样,表示建立表test08450214成功,刷新左边表即可看到新建的test08450214表。
所用到SQL语句的如下:create table test08450214(name varchar2(20),age int,score number(10,2),address varchar2(60));实验结果如下图所示:2、继续在Enter SQL Statement窗口中输入如下SQL语句,点击运行脚本按钮,在脚本输出窗口中可以看到“1 行已插入”字样,一共6行,表示插入6条记录成功!所用到SQL语句的如下:insert into test08450214 values('赵一',20,'580.00','重邮宿舍12-3-5');insert into test08450214 values('钱二',19,'540.00','南福源5-2-9');insert into test08450214 values('孙三',21,'555.50','学生新区21-5-15');insert into test08450214 values('李四',22,'480.00','重邮宿舍8-6-22');insert into test08450214 values('周五',20,'495.50','学生新区23-4-8');insert into test08450214 values('吴六',19,'435.00','南福源2-5-12');实验结果如下图所示:然后单击左边的test08450214表,然后选择数据项,则可以看到新插入的数据:实验结果如下图所示:3、继续在Enter SQL Statement窗口中输入如下SQL语句,将表test08450214中Age小于等于20的元组,Score属性对应值修改为原值+5。
实验五 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将俩个表联系起来。
进行Sql语句数据更新练习实验报告
3.2 修改数据 将所有学生的年龄增加一岁 执行
修改前
修改后
3.3 删除数据 删除表 ADDS 学号为 S01 的学生 执行实验结果及体会 建立查询的过程中我得出了下面的一些感受: (1) 初步熟悉各种对表进行的比较简单的查询更新、删除、修改 (2) 对一些比较复杂的更新、删除、修改还需要多练习
建立查询31插入数据将students中所有的元组插入到表adds中结果如下32修改数据将所有学生的年龄增加一岁执行修改前修改后33删除数据删除表adds学号为s01的学生执行操作删除前删除后四实验结果及体会建立查询的过程中我得出了下面的一些感受
实验报告
课程名称:数据库技术 实验题目:实验五 Sql 语句练习 姓名: 学号:班级: 实验日期:成绩: 一、 实验目的
进行 Sql 语句数据更新练习
二、 实验环境 Microsoft sql server 2008 和 DBMS
三、 实验主要内容和主要操作步骤
1. 新建表 Depts、Student、Courses、Reports 如下:
2.建立表关系如下:
3.建立查询 3.1 插入数据 将 Students 中所有的元组插入到表 ADDS 中,结果如下
2021年SQL语句实验报告
试验一: 数据定义及更新语句练习一、试验目熟练掌握用SQL语句实现数据库和基础表创建以及数据更新。
二、试验内容(1)用SQL语句建立以下以自己名字为名数据库, 包含S, P, J, 和SPJ四个基础表(教材第二章习题5中四个表), 要求实现关系三类完整性。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);(2)分别使用插入、删除、修改方法更新基础表中数据。
a.利用Insert 语句将习题中给出示例统计插入各表。
b.利用Update更新表中统计:①将p表中全部红色零件重量增加5。
②将spj表中全部天津供给商QTY属性值降低10。
用子查询。
c.利用Delete语句删除p表中全部红色零件统计。
三、完成情况1.创建四个基础表:CREATE TABLE S(SNO CHAR(20)PRIMARY KEY,SNAME CHAR(20),STATUS INT,CITY CHAR(20));CREATE TABLE P(PNO CHAR(20)PRIMARY KEY,PNAME CHAR(20),COLOR CHAR(10),WEIGHT INT);CREATE TABLE J(JNO CHAR(20)PRIMARY KEY,JNAME CHAR(20),CITY CHAR(20));CREATE TABLE SPJ(SNO CHAR(20),PNO CHAR(20),JNO CHAR(20),QTY INT,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO)REFERENCES S(SNO),FOREIGN KEY(PNO)REFERENCES P(PNO),FOREIGN KEY(JNO)REFERENCES J(JNO));2.利用INSERT语句为四个基础表插入数据(每个表插入操作均只以两个数据插入为例, 其它省略):INSERTINTO SVALUES('S1','精益','20','天津');INSERTINTO SVALUES('S2','盛锡','10','北京');INSERTINTO PVALUES('P1','螺母','红','12');INSERTINTO PVALUES('P2','螺栓','绿','17');INSERTINTO JVALUES('J1','三建','北京');INSERTINTO JVALUES('J2','一汽','长春');INSERTINTO SPJVALUES('S1','P1','J1','200');INSERTINTO SPJVALUES('S1','P1','J3','100');3.利用UPDATE语句更新表中统计:UPDATE PSET WEIGHT=WEIGHT+5WHERE COLOR='红';UPDATE SPJSET QTY=QTY-10WHERE SNO IN(SELECT SNOFROM SWHERE CITY='天津');4.利用Delete语句删除p表中全部红色零件统计DELETEFROM SPJWHERE PNO IN(SELECT PNOFROM PWHERE COLOR='红');DELETEFROM PWHERE COLOR='红';四、试验结果1.利用INSERT语句为四个基础表插入数据:2.利用UPDATE语句更新表中统计:3.利用Delete语句删除p表中全部红色零件统计五、问题与处理1.怎样保留数据库?原认为需要用一次输入一次, 以后经过老师讲解知道能够分离数据库(只保留.mdf文件就行了, 到用时在附加数据库), 还能够备份数据库。
数据库实验---SQL 数据更新语句
实验SQL 数据更新语句一、实验目的本次实验了解SQL Server 2005 的启动,熟悉如何使用SSMS 和SQL 建立数据库和表,并加深对于完整性的理解。
...二、背景知识在使用数据库的过程中,接触最多的就是数据库中的表。
表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。
表是由行和列组成的。
创建表的过程主要就是定义表的列的过程。
表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。
除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。
约束是SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。
在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和默认约束(Default Constraint)。
...三、实验目的加深对SQL 数据更新(插入、修改及删除)语句的基本语法格式的掌握掌握单个元组及多个元组的插入、修改及删除操作的实现过程加深对更新操作时数据库中数据一致性问题的了解加深对约束条件在数据更新操作执行中的作用问题的了解。
四、实验报告要求1、写出与上述任务相对应的SQL 更新语句(实验报告上写出3、5、10 的SQL 语句)2、并记录在实验过程中遇到的问题、解决办法及心得体会。
五、实验内容方法一:在SSMS 中插入、删除及修改数据,方法二:在查询编辑器中写SQL 插入、删除及修改数据设有一个SPJ 数据库,包括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 由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ 由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2 修改数据 将所有学生的年龄增加一岁 执行
修改前
修改后
3.3 删除数据 删除表 ADDS 学号为 S01 的学生 执行操作
删除前
删除后
四、 实验结果及体会 建立查询的过程中我得出了下面的一些感受: (1) 初步熟悉各种对表进行的比较简单的查询更新、删除、修改 (2) 对一些比较复杂的更新、删除、修改还需要多练习
实验报告
课程名称:数据库技术 实验题目:实验五 Sql 语句练习 姓名: 学号:班级: 实验日期:成绩: 一、 实验目的
进行 Sql 语句数据更新练习
二、 实验环境 Microsoft sql server 2008 和 DBMS
三、 实验主要内容和主要操作步骤
1. 新建表 Depts、Student、Courses、Reports 如下: