实验三SQL语言

合集下载

实验三SQL语言的DDL实验报告

实验三SQL语言的DDL实验报告

实验三SQL语言的DDL实验报告实验目的:掌握SQL语言中的DDL(数据定义语言)的使用方法,包括创建和删除数据库、创建和删除数据表、修改数据表结构等。

实验环境:MySQL数据库实验内容:1.创建数据库:在MySQL中,使用CREATEDATABASE语句来创建数据库。

语法如下:CREATE DATABASE database_name;例如,创建名为"student"的数据库:CREATE DATABASE student;2.删除数据库:在MySQL中,使用DROPDATABASE语句来删除数据库。

语法如下:DROP DATABASE database_name;例如,删除名为"student"的数据库:DROP DATABASE student;3.创建数据表:在MySQL中,使用CREATETABLE语句来创建数据表。

语法如下:CREATE TABLE table_namecolumn1 data_type,column2 data_type,...例如,创建名为"student"的数据表,包含id、name、age三个列:CREATE TABLE studentid INT,name VARCHAR(255),age INT4.删除数据表:在MySQL中,使用DROPTABLE语句来删除数据表。

语法如下:DROP TABLE table_name;例如,删除名为"student"的数据表:DROP TABLE student;5.修改数据表结构:在MySQL中,使用ALTERTABLE语句来修改数据表结构。

语法如下:ALTER TABLE table_nameADD column_name data_type;ALTER TABLE table_nameMODIFY column_name data_type;ALTER TABLE table_nameDROP column_name;例如,向名为"student"的数据表中添加一个新的列"gender":ALTER TABLE studentADD gender VARCHAR(10);6.实验过程:首先,在MySQL中创建一个名为"student"的数据库:CREATE DATABASE student;然后,切换到"student"数据库:USE student;接着,创建一个名为"student_info"的数据表,包含id、name、age 三个列:CREATE TABLE student_infoid INT,name VARCHAR(255),age INT然后,向"student_info"数据表中插入一条记录:INSERT INTO student_info (id, name, age) VALUES (1, '张三', 20);接下来,修改"student_info"数据表的结构,添加一个新的列"gender":ALTER TABLE student_info ADD gender VARCHAR(10);最后,查询"student_info"数据表的内容,确认修改成功:SELECT * FROM student_info;实验结果:成功创建了名为"student"的数据库,并在其中创建了一个名为"student_info"的数据表。

实验3报告SQL查询.

实验3报告SQL查询.

实验三报告:SQL查询姓名:xxx学号:班级:课程名:数据库与系统概论一、实验目的使学生掌握SQL Server查询分析器的使用方法,加深对Transact-SQL语言的建表、查询语句的理解。

熟练掌握简单表的的建立、数据查询、数据排序的操作方法。

二、实验内容表的sql查询语句和更新语句1.新建表(1)使用建立student、course和SC三个表,其结构为:Sql语句为:--创建数据库CREATE DATABASE test03;USE test03;--学生表CREATE TABLE Student(Sno VARCHAR(20)PRIMARY KEY NOT NULL,Sname VARCHAR(50)NOT NULL,Age INT,Sex CHAR(2),Dept VARCHAR(50));--课程表CREATE TABLE Course(cno VARCHAR(20)PRIMARY KEY NOT NULL,cname VARCHAR(50)NOT NULL,credit FLOAT,pcno VARCHAR(20),descr VARCHAR(100));--选课表CREATE TABLE SC(sno VARCHAR(20)NOT NULL,cno VARCHAR(20)NOT NULL,grade FLOAT);ALTER TABLE SC ADD CONSTRAINT sno_SC_Student FOREIGN KEY(sno)REFERENCES Student(Sno); ALTER TABLE SC ADD CONSTRAINT sno_SC_Course FOREIGN KEY(cno)REFERENCES Course(cno);在SQL Server2005的数据库中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。

当在企业管理器中选择服务器和数据库文件夹,并打开己定义好的学生选课数据库后。

实验三 T-SQL编程

实验三 T-SQL编程

实验三T-SQL编程一、实验目的1、掌握批处理、脚本的概念2、掌握SQL Server中局部变量、全局变量和内置函数的概念和应用3、掌握SQL Server流程控制语句的使用4、掌握SQL Server三种用户自定义函数的创建和使用方法5、掌握游标的建立和使用6、掌握事务的建立和使用二、实验内容1、恢复sales数据库。

2、使用变量(1)新建查询。

(2)在编辑窗口输入如下内容:Use salesG0Declare @maxpricee moneySelect @maxprice=max(price)from ProductsWhere price is not nullG0Select [@maxprice]= @maxpricePrint @@rowcount(3)解释每一命令的语义,执行以上语句,系统报错,说明错误原因并改正。

错误原因:必须声明标量变量"@maxprice"。

改正后的语句:3、使用函数(1)新建查询。

(2)在编辑窗口,按要求编写T-SQL语句:1)编写并记录使用ROUND()函数的示例。

SELECT ROUND(price,1)as unitprice FROM products2)编写并记录使用SUBSTRING()函数的示例。

SELECT substring(name,1,2)FROM products3)编写并记录使用DATEPART()函数的示例。

SELECT DATEPART(yyyy,OrderDate)AS OrderYear, DATEPART(mm,OrderDate)AS OrderMonth, DATEPART(dd,OrderDate)AS OrderDayFROM OrdersWHERE Orderno=10014)编写并记录显示当前系统用户名的语句。

select system_user4、使用流控制语句(1)新建查询。

(2)在编辑窗口,输入如下内容:USEsalesgoselect OrderNo,ProductNO,订单等级=Case QtyOrderedWhen 2 then '3级’When 90 then '1级’Else '2级’EndFrom order_Details3)修改以上的内容,重新划分等级,要求:1)当qtyordered的值不低于100时,为1级;2)当qtyordered的值在区间[50,100)上时,为2级;3)当qtyordered的值在区间[20,50)上时,为3级;4)当qtyordered的值在区间[10,20)上时,为4级;5)当qtyordered的值小于10时,为5级;(4)记录修改后的T-SQL语句。

SQL实验报告三

SQL实验报告三

实验三视图、索引及数据更新一、实验目的:熟练掌握索引的建立与删除的方法,熟练掌握SQL的应用,熟练掌握数据插入、修改和删除的使用,为后继学习作准备。

二、实验属性验证性三、实验要求1.预习教材第三章,熟悉SQL语句。

2.熟悉SQL Server环境。

3.掌握建立索引的两种方法,即在基本表中建立和用命令方式建立。

4.掌握删除索引的方法。

5.掌握sql视图建立、修改和删除;6.掌握sql视图查询。

7.掌握sql数据插入、修改和删除语句的一般格式及使用方法。

四、实验原理SQL语言应用。

五、实验步骤:1 建立索引例3.1为学生选课数据库中的Students,Courses,Reports三个表建立索引。

其中Students 表按Sno(学号)升序建唯一索引,Courses表按Cno(课程号)升序建唯一索引,Reports表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。

命令:CREA TE UNIQUE INDEX Stusno ON Student(Sno);CREA TE UNIQUE INDEX Coucno ON Course(Cno);CREA TE UNIQUE INDEX SCno ON SC(SnoASC,Cno DESC);例 3.2 在基本表Students的Sname(姓名)和Sno(学号)列上建立一个聚簇索引,而且Students中的物理记录将按照Sname值和Sno值的升序存放。

命令:CREA TE CLUSTERED INDEX Stu_snamesno ON Student(Sname,Sno);2删除索引例3.3删除基本表Reports上的索引。

命令:DROP INDEX SC.SCno3 建立视图例3.4建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。

命令:CREA TE VIEW Smath AS SELECT Sno,Sname,Sage,Sdept FROM Student WHERE Sdept='数学'例3.5建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图。

SQL实验报告(优秀范文5篇)

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(二)SQL语言进行简单查询实验报告范文

实验三SQL(二)SQL语言进行简单查询实验报告范文实验目的:1.掌握SQL查询语句的一般格式2.掌握简单数据查询操作。

3.熟练掌握各种查询条件的表示。

4.掌握排序和分组操作在SQL语句中的实现。

5.掌握集函数的使用。

实验内容;1.创建学生表tudent、课程表coure和选课表SC,并输入数据(注意数据的完整性。

);(可以使用实验一中已经建立的表和数据)2.对各表中的数据进行不同条件的查询;1)查询全体学生的学号和姓名2)3)4)5)6)7)8)9)查询全体学生的详细记录查询所有选修过课程的学生学号查询考试有不及格的学生学号查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别查询选修了4号课的学生学号和成绩,结果按成绩降序排列查询每个课程号和相应的选课人数查询计算机系(CS)的学生姓名、年龄、系别查询年龄18-20岁的学生学号、姓名、系别、年龄;10)查询姓刘的学生情况11)查询既选修1号课程,又选修2号课程的学生学号12)查询学生的姓名和出生年份(今年2003年)13)查询没有成绩的学生学号和课程号14)查询总成绩大于200分的学生学号15)查询每门课程不及格学生人数16)查询不及格课程超过3门的学生学号17)查询年龄在10到19岁之间的学生信息18)查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列19)查询选了1号课程的学生平均成绩20)查询选了3号课程的学生的最高分21)查询每个同学的总成绩实验步骤与过程:1.创建学生表tudent、课程表coure和选课表SC,使用实验一中已经建立的表和数据。

2.并输入数据,设置主键。

3.建立索引及三表之间关系。

4.按照SQL语句格式及题目要求输入语句进行以下查询:1、查询全体学生的学号和姓名;2、查询全体学生的详细记录;3、查询所有选修过课程的学生学号;4、查询考试有不及格的学生学号;5、查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别;6、查询选修了4号课的学生学号和成绩,结果按成绩降序排列;7、查询每个课程号和相应的选课人数;8、查询计算机系(CS)的学生姓名、年龄、系别;9、查询年龄18-20岁的学生学号、姓名、系别、年龄;10、查询姓刘的学生情况;11、查询既选修1号课程,又选修2号课程的学生学号;12、查询学生的姓名和出生年份(今年2003年);13、查询没有成绩的学生学号和课程号;14、查询总成绩大于200分的学生学号;15、查询每门课程不及格学生人数;16、查询不及格课程超过3门的学生学号;17、查询年龄在10到19岁之间的学生信息;18、查询全体学生情况,按所在系升序排列,同一个系的学生按年龄降序排列;19、查询选了1号课程的学生平均成绩;20、查询选了3号课程的学生的最高分;21、查询每个同学的总成绩实验结果:利用实验一中所建立的表设置主键,建立索引及三表之间关系。

实验3-SQL语言查询操作

实验3-SQL语言查询操作

实验3:SQL语言操作一、实验目的:1.熟悉SQL语言的基本语法和规则2.了解CREATE、DROP语句的使用。

3.掌握INSERT、UPDA TE、DELETE语言的基本语法和规则4.掌握在查询分析器或企业管理器中执行INSERT、UPDATE、DELETE操作的方法5.掌握SQL语言函数、程序控制语句的使用二、基本原理:SQL语言的基本语法规则和相关SQL程序结构控制语法理论。

三、实验仪器设备:1.硬件:PC台/人(内存:256M以上,cpu:P4)2.软件:SQL Server2000四、实验内容:1.用Create创建表名为class和student,2.利用select和Insert语句向表中插入记录3.利用UPDATE语句更新class和student记录4.利用DELETE删除class表中的记录5.利用DROP语句删除表6.依据SQL语法,编写SQL程序执行数据库相关操作。

五、实验步骤:1).在企业管理器中用Create创建数据库或表,名为student和class,并用ALTER修改数据库和表。

建立一个名为test的数据库,可以输入如下的SQL语句:CREATE DATABASE test例如,要创建一个销售数据库,并设定数据文件为d:\销售.LDF,大小为5MB,最大为20MB,每次增长5MB。

事务日志文件为d:\ 销售.LDF,大小为5MB,最大为10MB,每次增长为1MB。

则创建的SQL语句为:CREATE DATABASE【TABLE】销售数据库ON (NAME = 销售数据,FILENAME = 'd:\Program Files\Microsoft SQL Server\MSSQL\data\销售数据.MDF',SIZE = 10MB,MAXSIZE = 50MB,FILEGROWTH = 10MB)LOG ON(NAME = 销售数据日志,FILENAME = 'd:\Program Files\Microsoft SQL Server\MSSQL\data\销售数据日志.LDF',SIZE = 10MB,MAXSIZE = 20MB,FILEGROWTH = 5MB)2)例如,为销售数据库新增一个逻辑名为“销售数据2”的数据文件,其大小及其最大值分别为10MB和50MB。

SQL数据库实验报告 实验三

SQL数据库实验报告 实验三

实验3 SQL Server数据表的管理1.实验目的(1)掌握使用SQL Server管理平台和Transact-SQL语句CREA TE TABLE和ALTER TABLE创建和修改表的方法。

(2)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。

(3)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。

(4)了解SQL Server的常用数据类型。

2.实验内容及步骤(1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。

(2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2至图1-4所示。

图1-2 学生基本情况表student_info图1-3 课程信息表curriculum图1-4 学生成绩表grade(3)在SQL Server管理平台中创建student_info、curriculum表。

(4)在SQL Server 管理平台中,将student_info 表的学号列设置为主键,非空。

(5)使用Transact-SQL语句CREA TE TABLE在studentsdb数据库中创建grade表。

(6)student_info、curriculum、grade表中的数据如图1-5至图1-7所示。

图1-5 student_info的数据图1-6 curriculum的数据图1-7 grade的数据(7)在SQL Server管理平台中为student_info、curriculum、grade表添加数据。

(8)使用Transact-SQL语句INSERT INTO...V ALUES向studentsdb数据库的grade表插入数据:学号为0004,课程编号为0001,分数为80。

(9)使用Transact-SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三S Q L语言
Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
A c c e s s数据库程序设计
实验报告
实验三SQL语言
班级 :
姓名 :
学号:
实验三SQL语言
【实验目的】
1.掌握SQL语言的使用方法
2.利用SQL语句实现相关的操作
3.能够独立写出一些较复杂的SQL语句
【实验内容】
1.使用SQL语句定义READER表,其结构与实验一中的表1——“读者”表相同,然后使用插入命令在READER表中插入两条记录,内容自定。

2.根据“图书管理”数据库中的“读者”、“图书”和“借书登记”3个表,使用SQL语句完成以下查询。

(1)从“读者”表中查找法律系读者的所有信息。

(2)从“借书登记”表中查找尚未归还的图书的书号、借书证号和借书日期。

(3)从“借书登记”表中查询每本书每次借出的天数。

(4)从“借书登记”表中查询每本书的借阅次数。

(5)从“图书”表中查找各出版社图书的价格总计,并按价格降序输出。

(选做题)
(6)查询所有借过书的读者姓名和借书日期。

(选做题)
(7)查询所有借阅了“红楼梦”的读者的姓名和借书证号。

(选做题)(8)查询至今没有人借阅的图书的书名和出版社。

(选做题)。

相关文档
最新文档