关系数据库语言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语言的基本语法和常用命令,包括数据类型定义、表格创建、插入、更新和删除操作。
实验报告2 关系数据库标准语言SQL
实验2:关系数据库标准语言SQL一.实验目的通过本实验使学生掌握SQL语言的数据定义功能、数据查询功能和数据操纵功能。
二.实验类型验证型三.实验学时4学时四.实验原理及知识点1.SQL语言的数据查询功能2.SQL语言的数据定义功能3.SQL语言的数据操纵功能五.实验环境1.硬件设备要求:PC及其联网环境;2.软件设备要求:Windows操作系统;MS SQL Server数据库管理系统。
六.实验内容及步骤在STUDENT数据库中,根据要求使用SQL语言完成下列操作,将SQL语句以.sql文件的形式保存在自己的目录下。
1.查询选修了课程的学生的学号。
2.查询学生学号和出生年份。
3.查询计算机系学生的学号、姓名。
4.查询年龄在20岁与22岁之间(包括20和22岁)的学生姓名和年龄。
5.查询学生姓名中含有“波”字的学生情况。
6.查询缺少学习成绩的学生学号和课程号。
7.查询选修C601课程的学生的学号和成绩,并按分数的降序排列。
8.求选修了课程的学生人数。
9.求课程C601的平均成绩。
10.求选修课程超过2门的学生学号。
11.查询参加学习的学生所学的课程号和总分。
12.查询选修高等数学课程且成绩在80分以上的学生的学号、姓名。
13.查询每一课程的间接先行课(即先行课的先行课)。
14.查询年龄低于所有工程系学生的学生姓名、所在系、年龄。
15.找出刘建平老师所开全部课程的课程号、课程名。
16.找出全部课程的任课教师。
17.求学生1203所学课程的总分。
18.找出所有姓张的学生的姓名和籍贯。
19.找出至少一门课程的成绩在90分以上的女学生的姓名。
20.求每一年龄上人数超过2的男生的具体人数,并按年龄从小到大排序。
21.把学生的学号及他的平均成绩定义为一个视图GRADE_VIEW。
22.创建一个从student、course、study表中查出计算机系的学生及其成绩的视图computer_view,要求显示学生的学号sno、姓名name、课程号cno、课程名称cname、成绩grade。
数据库sql 实验报告
数据库sql 实验报告数据库SQL实验报告1. 引言数据库是现代信息系统中不可或缺的组成部分,它提供了有效地存储和管理数据的能力。
结构化查询语言(SQL)是一种用于管理和操作关系型数据库的标准化语言。
本实验报告旨在通过实际操作和实验结果的分析,探讨SQL在数据库中的应用和效果。
2. 实验目的本次实验的主要目的是熟悉和掌握SQL语言的基本操作,包括数据的查询、插入、更新和删除等。
通过实验,我们可以进一步了解SQL语言的特点和使用方法,加深对数据库管理系统的理解。
3. 实验环境本次实验使用的数据库管理系统为MySQL,它是一种开源的关系型数据库管理系统。
MySQL提供了强大的功能和灵活的配置选项,被广泛应用于各种规模的应用程序中。
4. 实验步骤4.1 数据库连接在实验开始之前,我们首先需要建立与数据库的连接。
通过使用MySQL提供的连接函数,我们可以指定数据库的主机地址、用户名和密码等信息,以便进行后续的操作。
4.2 数据库创建在连接成功后,我们可以使用SQL语句创建一个新的数据库。
通过指定数据库的名称和字符集等属性,我们可以灵活地创建适合自己需求的数据库。
4.3 数据表创建数据库中的数据以表的形式进行组织和存储。
在本次实验中,我们将创建一个名为"students"的数据表,用于存储学生的基本信息。
通过指定表的字段和属性,我们可以定义每个字段的数据类型和约束条件。
4.4 数据插入在数据表创建完成后,我们可以使用SQL语句向表中插入数据。
通过指定插入的字段和对应的值,我们可以将具体的数据添加到表中。
在插入数据时,我们还可以使用事务来确保数据的完整性和一致性。
4.5 数据查询数据查询是SQL语言的核心功能之一。
通过使用SELECT语句,我们可以从表中检索所需的数据。
SELECT语句可以使用不同的条件和运算符进行过滤和排序,以满足不同的查询需求。
4.6 数据更新和删除除了查询,SQL语言还提供了更新和删除数据的功能。
SQL数据库实验报告 (1)
资源与环境科学学院实验报告一、上机实习名称:SQL Server的安装及数据库的建立二、实验目的:1、通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。
2、熟悉对DBMS的操作3、熟悉如何使用SSMS和SQL建立数据库和表,并加深对于完整性的理解。
三、实验内容:1、根据安装文件的说明安装数据库管理系统。
2、学会启动和停止数据库服务,思考可以用哪些方式来完成启动和停止。
3、掌握管理工具的使用(1)SQL Server Management Studio的使用➢连接服务器的方法➢查询分析器的使用(2)配置管理器的使用4、了解数据库系统的逻辑组件:它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。
今后将学习如何操作这些数据库对象。
5.在SSMS中创建数据库和表四、实验步骤1. SQL Server 2008的体系结构和特点介绍SQL Server 是一个关系数据库管理系统。
由微软公司2008年第三季度正式发布, SQL Server 2008是一个重大的产品版本,在安全性、可用性、易管理性、可扩展性、商业智能等方面有了更多的改进和提高,对企业的数据存储和应用需求提供了更强大的支持和便利,使得它成为迄今为止最强大和最全面的SQL Server版本。
SQL Server 2008 版本体系:根据不同的用户类型和使用需求,微软公司推出了5种不同的SQL Server版本,包括企业版(Enterprise)、标准版(Standard)、工作组版(Workgroup)、学习版(Express)和移动版(Compact)Microsoft SQL Server 2008系统由4个主要部分组成。
这4个部分被称为4个服务,这些服务分别是数据库引擎、分析服务、报表服务和集成服务。
2. SQL Server管理工作室的启动打开windows控制面板—管理—服务,启动SQL Server 服务,如下图(1)开始→程序→Microsoft SQL Server 2008→SQL Server Management Studio(如图1.1所示)。
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结构化查询语言提供的数据操纵功能,编程设计实现对数据的定义、修改、删除、查询、更新以及控制等操作,并按照实验指导书的各项要求完成实验。
(二)实验说明1. 在工作站计算机的硬盘D盘符下,请同学们建立以自己名字命名的子目录(可以是汉字名,也可以是汉语拼音字母)。
再在此子目录下,建立用于存放上机实验文件的相关子目录,它们是\DATA;\PROGS 等,Data目录用来存放“教学管理系统”数据库文件。
Progs用来存放实验中的SQL语句和执行结果。
如用“萨师煊”的汉语拼音的第一个字母组成的“SSX”在D盘上建立目录后的结果是:D:\SSX\DATA; D:\SSX\PROGS 等。
2. 本课程实验要利用数据库管理系统SQL SEVER 2000进行实验,每台计算机上都已经安装好了微软公司的SQL Server 2000数据库管理系统,请熟悉SQL SEVER 2000的同学,根据SQL SEVER提供的客户端编程界面按照实验要求完成实验。
3. SQL Server 2000的安装过程见附录,建议同学们在自己的电脑上进行安装,熟悉安装过程及安全性设置。
在数据库身份验证模式上,建议使用混合模式。
实验一:设计数据库、数据表和数据视图并编程实现1. 目的要求(1)这是一个验证性实验。
(2)利用所学E-R数据模型图概念,描述“学生管理”系统中数据表之间以及各数据项之间的联系。
并按照课程教学大纲要求,转化相关E-R图为关系模型中对应的二维表,指出每个数据表中的关键字、索引项、外码以及表中需要满足完整性约束条件;(3)对照关系模型中(1:1)、(1:n)、(m:n)实体联系,指出各数据表实体属于哪一类联系。
SQL数据库实验报告实验二
SQL数据库实验报告实验二第一篇:SQL数据库实验报告实验二实验2SQL Server数据库的管理1.实验目的(1)了解SQL Server 数据库的逻辑结构和物理结构的特点。
(2)掌握使用SQL Server管理平台对数据库进行管理的方法。
(3)掌握使用Transact-SQL语句对数据库进行管理的方法。
2.实验内容及步骤(1)在SQL Server管理平台中创建数据库。
① 运行SQL Server管理平台,在管理平台的对象资源管理器中展开服务器。
② 右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。
在新建数据库对话框的数据库名称文本框中输入学生管理数据库名studentsdb,单击“确定”按钮。
(2)选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。
(3)打开studentsdb数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改studentsdb数据文件的“分配的空间”大小为2MB。
指定“最大文件大小”为5MB。
修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。
(4)单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL语句CREATE DATABASE创建studb数据库。
然后通过系统存储过程sp_helpdb查看系统中的数据库信息。
(5)在查询设计器中使用Transact-SQL语句ALTER DATABASE 修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。
(6)在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。
(7)使用SQL Server管理平台将studb数据库的名称更改为student_db。
(8)使用Transact-SQL语句DROP DATABASE删除student_db数据库。
数据库实验报告-使用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 语言为核心的数据库管理系统(如ORA CLE ,DB2,SY BAS E ,SQL Se rve r 等)上机环境。
(一)实验目的通过上机实践,了解DBM S 和SQL 的概貌。
熟练掌握S QL 的数据定义、数据操纵、完整性控制等功能。
(二)实验内容与步骤实验1 基本表的创建、数据插入(1)建立教学数据库的三个基本表:S (S #,SNA ME ,AG E ,SEX ) 学生(学号,姓名,年龄,性别) SC (S#,C#,G RAD E ) 学习(学号,课程号,成绩)C (C #,CNA ME ,TE ACH ER ) 课程(课程号,课程名,任课教师)(2)用INS ERT 命令输入数据。
基本表S 的数据:基本表SC 的数据:基本表C 的数据:实验2数据查询(1)检索学习课程号为C2的学生学号与姓名。
(2)检索学习课程名为M ATH S的学生学号与姓名。
(3)检索不学C2课的学生姓名与年龄。
(4)检索学习全部课程的学生姓名。
实验3数据修改、删除(1)把C2课程的非空成绩提高10%。
(2)在SC表中删除课程名为PHY SIC S的成绩的元组。
(3)在S和SC表中删除学号为S8的所有数据。
实验4属性的添加和删除(1)为S表添加属性家庭住址和身高。
(2)为家庭住址和身高这两个属性添加值。
(3)分别删除家庭住址和身高属性。
实验5视图的操作(1)建立男学生的视图,属性包括学号、姓名、选修课程名和成绩。
(2)在男学生视图中查询平均成绩大于80分的学生学号和姓名。
实验6库函数、授权控制(1)计算每个学生有成绩的课程门数、平均成绩。
(2)使用G RAN T语句,把对基本表S、SC、C的使用权限授给其他用户。
数据库实验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实验报告范文
SQL实验报告范文一、实验目的本实验旨在通过使用结构化查询语言(SQL)来实现对关系型数据库的操作,熟悉SQL语言的语法和基本操作,在实际应用中能够灵活运用SQL语句进行数据的查询、插入、更新和删除。
二、实验内容1.创建数据库和数据表2.插入数据3.查询数据4.更新数据5.删除数据三、实验过程1.创建数据库和数据表首先,通过以下命令创建一个名为"employee"的数据库:CREATE DATABASE employee;然后,使用以下命令切换到该数据库:USE employee;接下来,创建一个名为"employees"的数据表,并定义其中的字段和数据类型:CREATE TABLE employeesid INT PRIMARY KEY,name VARCHAR(50),age INT,salary FLOAT2.插入数据使用以下命令向数据表中插入数据:INSERT INTO employees (id, name, age, salary) VALUES (1,'John', 25, 5000);INSERT INTO employees (id, name, age, salary) VALUES (2,'Alice', 30, 6000);INSERT INTO employees (id, name, age, salary) VALUES (3,'Tom', 28, 5500);3.查询数据可以使用SELECT语句来查询数据。
例如,要查询所有员工的信息,可以使用以下命令:SELECT * FROM employees;这将返回表中所有的记录。
还可以使用WHERE子句来进行更精确的查询。
例如,要查询年龄大于25岁的员工信息,可以使用以下命令:SELECT * FROM employees WHERE age > 25;这将返回年龄大于25岁的员工记录。
数据库系统原理实验报告-SQL查询语句
`数据库系统原理实验报告:xxx学号 :xxxxxxxx专业: xxxxx日期 :xxxxx`Lab2一、实验目的进一步熟悉关系数据库标准语言SQL。
二、实验环境1)Windows 102)SQL Server 2017三、实验容给定如学生表、课程表和学生作业表所示的信息。
表 1 学生表学号性别专业班级0433 艳女生物 04 0496 越男电子 04 0529 欣男会计 05 0531 志国男生物 05 0538 于兰兰女生物 05 0591 王丽丽女电子 05 0592 王海强男电子 05表 2 课程表课程号课程名学分数K001 计算机图形学 2.5K002 计算机应用基础 3K006 数据结构 4M001 政治经济学 4S001 高等数学 3表 3学生作业表课程号学号作业1成绩出生日期1986-9-131984-2-231984-1-271986-9-101984-2-201984-3-201986-11-1学时数4048646448作业 2成绩联系1381290 ××××1350222 ××××1331256 ××××1331200 ××××1332080 ××××任课教师胡晶晶任泉马跃先孔繁新晓尘作业 3成绩`K001 0433 60 75 75 K001 0529 70 70 60 K001 0531 70 80 80 K001 0591 80 90 90 K002 0496 80 80 90 K002 0529 70 70 85 K002 0531 80 80 80 K002 0538 65 75 85 K002 0592 75 85 85 K006 0531 80 80 90 K006 0591 80 80 80 M001 0496 70 70 80 M001 0591 65 75 75 S001 0531 80 80 80 S001 0538 60 80写出如下 SQL 语句:1.查询数据库中有哪些专业班级。
数据库sql实验报告
数据库sql实验报告前⾔⼀、课程设计⽬的1.掌握数据库基本原理,理解关系数据库的设计⽅法和设计思路。
2.设计⼀个数据库应⽤系统。
3.完成所设计系统数据库的概念设计、逻辑设计与物理设计。
4.SQL Server2005的操作与使⽤。
5.数据库的建⽴与管理、数据表的建⽴与操作等。
6.SQL查询语⾔的使⽤与编程。
7.培养对所学知识的综合运⽤的能⼒。
⼆、课程设计的基本要求1、构建学⽣信息管理系统后台数据库;2、根据设计任务和基本信息,制定数据库设计实施的实际⽅案;3、进⾏数据库代码的编写、开发,处理中间各个环节过程中遇到的问题,即使修正设计实施⽅案,与项组员积极沟通解决问题;4、解决开发过程中遇到的技术性问题及关键性代码;5、运⾏结果,调试系统。
系统背景资料说明本次数据库实训我们组要完成的是学⽣信息管理系统的后台数据库设计,这是⼀个典型的PPS进存销系统,该系统通⽤性极强,覆盖学⽣的课程、销售、库存、管理等各个环节。
该系统的主要内容是以医药公司的库存管理、销售管理、进货管理、供应商管理、客户管理功能为核⼼。
系统需求分析操作系统:操作系统:Microsoft Windows 2000 Server/NT 及以上版本。
DBMS名称:SQL Sever 2005;DBMS版本:主数据库:数据库名:student;包含⼀个主数据⽂件和⼀个事务⽇志⽂件。
主数据⽂件逻辑名为:student_data,操作系统⽂件名为:student_data.mdf事务⽇志⽂件逻辑名为:student_log,操作系统⽂件名为:student_log.ldf主数据⽂件初始容量⼤⼩为10MB,最⼤容量⽆限制,⽂件增长量为:10%。
事务⽇志⽂件初始容量⼤⼩为10MB,最⼤容量⽆限制,⽂件增长量为:10%。
学⽣表:学⽣(学号、姓名、性别、出⽣⽇期、专业、班级、所属学院)课程表:课程(课程号、课程名、学时、学分)学⽣选修课表:学⽣选修课(学号、课程号、成绩)学⽣德育考评表:学⽣德育考评(学号、德育考评分、智育考评分、体育考评分)学⽣综合评定情况表:学⽣综合评定情况(学号、综合考评分、名次)学⽣表课程表学⽣选修课表学⽣德育考评表学⽣综合评定情况表数据库实现⼀、T-SQL代码1、主数据的创建:create database studenton primary(name=student_data,filename='E:\st\student_data.mdf',size=10MB,maxsize=unlimited,filegrowth=10%)log on(name=student_log,filename='E:\st\student_log.ldf',size=10MB,maxsize=unlimited,filegrowth=10%)go2、表的创建:(1)学⽣表:use studentgocreat table 学⽣(学号 char(12) constraint pk_xs primary key, 姓名 char(8),性别 char(2),出⽣⽇期 datetime,专业 varchar(20) not null,班级 varchar(20)所属学院 varchar(30)Go(2)课程表:use studentgocreate table 课程(课程号 char(4) constraint pk_kc primary key,课程名 char(20) not null,学时 tinyint,学分 smallint)go(3)学⽣选修课表:use studentgocreate table 学⽣选修课(学号 char(12) constraint fk_xsxxkxh references 学⽣(学号),课程号 char(4) constraint fk_xsxxkkch references 课程(课程号), 成绩 tinyint) go(4)学⽣德育考评表:use studentGocreate table 德育考评(学号 char(12) constraint fk_dykpxh reference学⽣(学号),德育考评分 tinyint,体育考评分 tinyint,智育考评分 tinyint)go(5)学⽣综合评定情况表:use studentgocreate table 学⽣综合评定情况(学号 char(12) constraint fk_xszhpdqkxh references 学⽣(学号),综合考评分 tinyint,名次 char(2))go3、⼀班学⽣表视图创建:use studentgocreate view view1asselect dbo.学⽣.学号, dbo.学⽣.姓名, dbo.学⽣.性别, dbo.学⽣.出⽣⽇期, dbo.学⽣.专业, dbo.学⽣.班级, dbo.学⽣.所属学院from dbo.学⽣where (班级='2009级1班')go4、存储名次⼤于等于22名学⽣综合评定情况:use studentgocreate procedure cj_xmasselect 学⽣.学号,姓名,综合考评分,名次from 学⽣,学⽣综合评定情况where 学⽣.学号=学⽣综合评定情况.学号 and 名次>='22'go5、建⽴⼀个名为del_xs的delete触发器use studentgocreate trigger del_xson 学⽣for deleteasdelete 学⽣选修课 where 学号 in (select 学号 from deleted) go⼆、运⾏结果1、按个⼈或者班级查询学⽣的综合考评分及名次:2、查询学⽣的各个部分分数构成情况3、能够对基本数据进⾏修改参考⽂献:《数据库原理与技术》清华⼤学出版社申时凯戴祖诚致谢:感谢王亚宁⽼师的悉⼼指导、感谢⼩组成员的团结奋战.。
数据库SQL实验报告_数据库的基本操作
数据库SQL实验报告_数据库的基本操作一、实验目的本次实验旨在通过实际操作,深入理解和掌握数据库的基本操作,包括创建数据库、创建表、插入数据、查询数据、更新数据和删除数据等,从而提高对数据库管理系统的应用能力和实践操作技能。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,操作系统为Windows 10。
三、实验内容及步骤(一)创建数据库1、打开 MySQL 命令行客户端,输入以下命令创建一个名为“my_database”的数据库:```sqlCREATE DATABASE my_database;```2、输入以下命令查看已创建的数据库:```sqlSHOW DATABASES;```(二)创建表1、使用以下命令切换到“my_database”数据库:```sqlUSE my_database;```2、创建一个名为“students”的表,包含“id”(整数类型,主键,自增)、“name”(字符串类型,长度为 50)、“age”(整数类型)和“grade”(整数类型)列:```sqlCREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,grade INT);```1、向“students”表中插入以下数据:```sqlINSERT INTO students (name, age, grade) VALUES ('张三', 20, 80),('李四', 21, 85),('王五', 19, 90);```(四)查询数据1、查询“students”表中的所有数据:```sqlSELECT FROM students;```2、查询年龄大于 20 岁的学生信息:```sqlSELECT FROM students WHERE age > 20;```1、将“张三”的年龄更新为 21 岁:```sqlUPDATE students SET age = 21 WHERE name ='张三';```(六)删除数据1、删除“grade”小于 80 的学生记录:```sqlDELETE FROM students WHERE grade < 80;```四、实验结果(一)创建数据库成功创建了名为“my_database”的数据库,并通过“SHOW DATABASES”命令验证了其存在。
数据库系统原理实验报告-SQL查询语句
数据库系统原理实验报告:xxx学号:xxxxxxxx专业:xxxxx日期:xxxxxLab2 一、实验目的进一步熟悉关系数据库标准语言SQL。
二、实验环境1)Windows 102)SQL Server 2017三、实验容给定如学生表、课程表和学生作业表所示的信息。
表1 学生表表2 课程表表3 学生作业表K001 0433 60 75 75 K001 0529 70 70 60 K001 0531 70 80 80 K001 0591 80 90 90 K002 0496 80 80 90 K002 0529 70 70 85 K002 0531 80 80 80 K002 0538 65 75 85 K002 0592 75 85 85 K006 0531 80 80 90 K006 0591 80 80 80 M001 0496 70 70 80 M001 0591 65 75 75 S001 0531 80 80 80 S001 0538 60 80写出如下SQL语句:1.查询数据库中有哪些专业班级。
(5分)Sql语句:SELECT专业班级FROM学生表;查询结果截图:2.查询在1986年出生的学生的学号、和出生日期。
(5分)Sql语句:SELECT学号,,出生日期FROM学生表WHERE出生日期LIKE'1986%';查询结果截图:3.查询05级的男生信息。
(5分)Sql语句:SELECT*FROM学生表WHERE学号LIKE'05%'AND性别='男';查询结果截图:4.查询没有作业成绩的学号和课程号。
(5分)Sql语句:SELECT学号,课程号FROM学生作业表WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL;查询结果截图:5.查询选修了K001课程的学生人数。
(5分)Sql语句:SELECT COUNT(DISTINCT学号)FROM学生作业表WHERE课程号='K001';查询结果截图:6.查询数据库中共有多少个班级。
关系数据库语言SQL实验报告
数据库系统教程上机实验报告学院:计算机科学与工程学院专业:计算机科学与技术指导老师:戴祖雄班级:计算机一班学号:0905010124姓名:范佳滨2011年10月26日关系数据库语言SQL实验实验目的1.了解SQL的特点。
2.熟悉关系数据库的标准语言——结构化查询语句SQL(Structured Query Language)。
3.熟悉并掌握SQL的数据定义、数据查询、数据更新、视图操作以及嵌入式SQL。
实验一:一.实验工具1.Microsoft Server 2000.二.实验步骤1.打开SQL Server 服务管理器,点击开始。
2.打开 SQL Server Enterprise Manager(企业管理器),在Microsoft SQL Servers\SQL Server\Windows NT\数据库目录下创建自己的数据,并为其命名,如mydata。
3.打开SQL查询分析器,选择自己的数据库,然后就可以在数据库里添加内容了。
4.基本表的创建:1)创建教师表CREATE TABLE T(T# CHAR(4) NOT NULL,TNAME CHAR(10) NOT NULL,CLASS CHAR(30),PRIMARY KEY(T#));2)创建课程表CREATE TABLE C(C# CHAR(4),CNAME CHAR(30) NOT NULL,T# CHAR(4),PRIMARY KEY(C#),FOREIGN KEY(T#) REFERENCES T(T#));3)创建学生表CREATE TABLE S(S# CHAR(4) NOT NULL,SNAME CHAR(10) NOT NULL,AGE SMALLINT,SEX CHAR(2),PRIMARY KEY(S#));4)创建学生所选课的成绩表CREATE TABLE SC(S# CHAR(4),C# CHAR(4),SCORE SMALLINT,PRIMARY KEY(S#,C#),FOREIGN KEY(S#) REFERENCES S(S#),FOREIGN KEY(C#) REFERENCES C(C#));5. 数据的更新1) 插入教师表的信息INSERT INTO T (T#,TNAME,CLASS)VALUES('T1','DAI','数据库');INSERT INTO TVALUES('T2','XIAO','计算机基础');INSERT INTO TVALUES('T3','TANG','操作系统');INSERT INTO TVALUES('T4','SONG','微机原理');INSERT INTO TVALUES('T5','WEI','VHDL')INSERT INTO TVALUES('T6','WANG','汇编语言');2)插入课程表信息INSERT INTO C (C#,CNAME,T#)VALUES('C1','数据库','T1');INSERT INTO CVALUES('C2','计算机基础','T2');INSERT INTO CVALUES('C3','操作系统','T3');INSERT INTO CVALUES('C4','微机原理','T4');INSERT INTO CVALUES('C5','VHDL','T5');INSERT INTO CVALUES('C6','汇编语言','T6');3)插入学生信息INSERT INTO S(S#,SNAME,AGE,SEX)VALUES('S1','FAN','21','男');INSERT INTO SVALUES('S2','JIANG','20','女');INSERT INTO SVALUES('S3','WANG','20','男');INSERT INTO SVALUES('S4','TIAN','18','男');INSERT INTO SVALUES('S5','LUO','19','女');INSERT INTO SVALUES('S6','LIU','25','男');4)插入学生成绩INSERT INTO SCVALUES('S1','C6','92');INSERT INTO SCVALUES('S2','C5','88');INSERT INTO SCVALUES('S3','C4','95');INSERT INTO SCVALUES('S4','C3','90');INSERT INTO SCVALUES('S5','C2','93');INSERT INTO SCVALUES('S6','C1','99');四.实验结果1.显示学生所选课程成绩表所有内容SELECT * FROM SC;2.显示课程表的所有内容SELECT * FROM C;3.显示学生表的所有内容SELECT * FROM S;4.显示教师表的内容SELECT * FROM T;5.数据修改如修改老师姓名:UPDATE TSET TNAME = 'MA' WHERE T# = 'T1';6 . 数据删除如删除学生成绩DELETE FROM SCWHERE SCORE = '92';7.表的删除,等。
sql数据库实验报告
sql数据库实验报告SQL数据库实验报告一、引言SQL(Structured Query Language)是一种用于管理关系型数据库的编程语言。
在本次实验中,我们使用SQL语言进行了数据库的设计、创建和操作,以及对数据库的查询和更新等操作。
本报告将详细介绍实验的目的、设计思路、实验过程和实验结果等内容。
二、实验目的本次实验的主要目的是熟悉SQL语言的使用,掌握数据库的设计和操作技巧。
通过实际操作,加深对数据库原理和相关知识的理解,并能够灵活运用SQL语言进行数据库的管理和操作。
三、实验设计本次实验的数据库设计基于一个图书馆管理系统。
我们需要设计多个表格,包括图书、读者、借阅记录等,并建立相应的关系。
为了实现这一目标,我们采用了以下步骤:1. 创建数据库:首先,我们使用SQL语句创建一个新的数据库,命名为"Library"。
2. 创建表格:接下来,我们根据需求创建了多个表格,包括"Books"、"Readers"和"BorrowRecords"等。
每个表格都有相应的字段,用于存储相关数据。
3. 设计关系:在创建表格的过程中,我们需要考虑不同表格之间的关系。
例如,图书表格和读者表格之间可以建立借阅关系,通过读者ID和图书ID进行关联。
4. 插入数据:创建表格后,我们使用SQL语句向表格中插入测试数据。
这些数据包括图书的名称、作者、出版日期等信息,以及读者的姓名、年龄、性别等信息。
5. 查询和更新:最后,我们使用SQL语句进行数据库的查询和更新操作。
通过编写合适的查询语句,我们可以实现对图书、读者和借阅记录等数据的检索和修改。
四、实验过程在实验过程中,我们按照上述设计思路一步步进行操作。
首先,我们使用SQL 语句创建了一个名为"Library"的数据库。
接着,我们创建了三个表格,分别是"Books"、"Readers"和"BorrowRecords"。
SQL实训报告
SQL实训报告SQL实训报告(通用5篇)随着个人的素质不断提高,报告不再是罕见的东西,不同种类的报告具有不同的用途。
我敢肯定,大部分人都对写报告很是头疼的,以下是小编整理的SQL实训报告,希望能够帮助到大家。
SQL实训报告篇1一、实验目的SQL(Structured Query Language)语言是关系数据库的标准语言。
是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。
本次实验了解SQL语言中DDL语言的CREATE、DROP、ALTER 对表、索引、视图的操作,掌握在Navicat for MySQL中用DDL语言进行对表、索引、视图的增加、删除和改动。
掌握使用SQL语句增加或删除约束,加深对完整性概念的理解,达到灵活应用的目的。
掌握使用SQL语句定义和删除同义词。
二、实验要求1、实验前:预习实验内容,学习相关知识。
2、实验中:按照实验内容要求进行实验,实验时注意每种SQL语句的基本命令及各个关键字的含义,做好实验记录。
3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。
4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。
5、要求按指定格式书写实验报告,且报告中应反映出本对次实验的总结,下次实验前交实验报告。
三、实验的重点与难点1、重点:(1)用SQL语句定义表结构(创建、修改和删除)。
(2)用SQL语句定义索引(创建、删除)。
(3)用SQL语句定义视图(创建、删除)。
(4)用SQL语句定义同义词(创建、删除)。
2、难点:完整性约束的定义、增加及删除。
同义词的定义与删除。
四、仪器设备及用具硬件:投影仪、每位同学分配已连接校园网PC机一台。
软件:本机已安装MySQL 5.5数据库平台。
五、教学过程(一)实验预习(1)熟悉SQL中的CREATE、DROP、ALTER语句的格式及所用的关键字含义及用法。
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)。
数据库系统教程上机实验报告学院:计算机科学与工程学院专业:计算机科学与技术指导老师:戴祖雄班级:计算机一班学号:0905010124姓名:范佳滨2011年10月26日关系数据库语言SQL实验实验目的1.了解SQL的特点。
2.熟悉关系数据库的标准语言——结构化查询语句SQL(Structured Query Language)。
3.熟悉并掌握SQL的数据定义、数据查询、数据更新、视图操作以及嵌入式SQL。
实验一:一.实验工具1.Microsoft Server 2000.二.实验步骤1.打开SQL Server 服务管理器,点击开始。
2.打开 SQL Server Enterprise Manager(企业管理器),在Microsoft SQL Servers\SQL Server\Windows NT\数据库目录下创建自己的数据,并为其命名,如mydata。
3.打开SQL查询分析器,选择自己的数据库,然后就可以在数据库里添加内容了。
4.基本表的创建:1)创建教师表CREATE TABLE T(T# CHAR(4) NOT NULL,TNAME CHAR(10) NOT NULL,CLASS CHAR(30),PRIMARY KEY(T#));2)创建课程表CREATE TABLE C(C# CHAR(4),CNAME CHAR(30) NOT NULL,T# CHAR(4),PRIMARY KEY(C#),FOREIGN KEY(T#) REFERENCES T(T#));3)创建学生表CREATE TABLE S(S# CHAR(4) NOT NULL,SNAME CHAR(10) NOT NULL,AGE SMALLINT,SEX CHAR(2),PRIMARY KEY(S#));4)创建学生所选课的成绩表CREATE TABLE SC(S# CHAR(4),C# CHAR(4),SCORE SMALLINT,PRIMARY KEY(S#,C#),FOREIGN KEY(S#) REFERENCES S(S#),FOREIGN KEY(C#) REFERENCES C(C#));5. 数据的更新1) 插入教师表的信息INSERT INTO T (T#,TNAME,CLASS)VALUES('T1','DAI','数据库');INSERT INTO TVALUES('T2','XIAO','计算机基础');INSERT INTO TVALUES('T3','TANG','操作系统');INSERT INTO TVALUES('T4','SONG','微机原理');INSERT INTO TVALUES('T5','WEI','VHDL')INSERT INTO TVALUES('T6','WANG','汇编语言');2)插入课程表信息INSERT INTO C (C#,CNAME,T#)VALUES('C1','数据库','T1');INSERT INTO CVALUES('C2','计算机基础','T2');INSERT INTO CVALUES('C3','操作系统','T3');INSERT INTO CVALUES('C4','微机原理','T4');INSERT INTO CVALUES('C5','VHDL','T5');INSERT INTO CVALUES('C6','汇编语言','T6');3)插入学生信息INSERT INTO S(S#,SNAME,AGE,SEX)VALUES('S1','FAN','21','男');INSERT INTO SVALUES('S2','JIANG','20','女');INSERT INTO SVALUES('S3','WANG','20','男');INSERT INTO SVALUES('S4','TIAN','18','男');INSERT INTO SVALUES('S5','LUO','19','女');INSERT INTO SVALUES('S6','LIU','25','男');4)插入学生成绩INSERT INTO SCVALUES('S1','C6','92');INSERT INTO SCVALUES('S2','C5','88');INSERT INTO SCVALUES('S3','C4','95');INSERT INTO SCVALUES('S4','C3','90');INSERT INTO SCVALUES('S5','C2','93');INSERT INTO SCVALUES('S6','C1','99');四.实验结果1.显示学生所选课程成绩表所有内容SELECT * FROM SC;2.显示课程表的所有内容SELECT * FROM C;3.显示学生表的所有内容SELECT * FROM S;4.显示教师表的内容SELECT * FROM T;5.数据修改如修改老师姓名:UPDATE TSET TNAME = 'MA' WHERE T# = 'T1';6 . 数据删除如删除学生成绩DELETE FROM SCWHERE SCORE = '92';7.表的删除,等。
五.结果分析虽然实验一中的语句书本上都有,基本都是照着打一遍,熟悉SQL的语法等。
但是在过程中我还是遇到了一些问题。
1)如在更新插入操作时,书本上是说在一个表中可以连续插入元组,INSERT INTO SC VALUES('S1','C6','92'), ( 'S2','C5','88'), ( 'S3','C4','95'); 书本只用了一个VALUES,但是我就是运行不了。
于是我就用分别插入,用INSERT INTO SC VALUES('S1','C6','92'), VALUES('S2','C5','88'), VALUES('S3','C4','95')语句就可以运行了。
这让我深刻体会到书本不一定是对的。
2)在做删除表的操作过程中,我在删除表T的时候,运行错误“未能除去对象 'T',因为该对象正由一个 FOREIGN KEY 约束引用。
”于是我就知道了当一个表中有外键的时候,是不能单单只删除当前表的,因为这样会影响与当前表有联系的所以表。
实验二:一.实验工具1. Lomboz Eclipse二.实验步骤1.下载并安装SP4补丁,用于JAVA与SQL Server 2000的连接。
2.下载msbase.jar、mssqlserver.jar、msutil.jar三个驱动jar包,并在打开Lomboz Eclipse 软件是在源文件下引入这三个包。
3.源代码:import java.sql.*;import java.awt.*;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class TestJDBC extends Frame {static TextArea ta = new TextArea();public void launch(String s) {this.setTitle(s);this.setSize(400,300);this.setLocation(200,100);this.setResizable(false);this.setVisible(true);this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {setVisible(false);System.exit(0);}});this.add(ta,BorderLayout.CENTER);}public static void main(String[] args) {new TestJDBC().launch("教师表");String s1 = null;String s2 = null;ResultSet rs = null;Connection conn = null;Statement stmt = null;String SERVERNAME = "sa";String PASSWORD = "sa";String URL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=mydata";String sql = "select * from T";try {//加载驱动Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//取得与指定数据库的连接conn = DriverManager.getConnection(URL,SERVERNAME,PASSWORD);stmt = conn.createStatement(//对滚动不敏感,即可以上下滚动ResultSet.TYPE_SCROLL_INSENSITIVE,//并发时,只读不能改ResultSet.CONCUR_READ_ONLY);rs = stmt.executeQuery(sql);s2 = "教师工号" + " "+ "教师姓名" + " " +"课程";ta.append(s2 + '\n');//游标指向下一条while(rs.next()) {s1 = " " + rs.getString(1)+" "+ rs.getString(2) + " " + rs.getString(3);ta.append(s1 + '\n');}} catch (ClassNotFoundException e) {e.printStackTrace();} catch(SQLException ex){ex.printStackTrace();}}}四.实验结果五.实验分析实验二的话我是先看了马士兵老师的JDBC的视频后完成的,视频里的是JAVA与Oracle的连接。