MySQL数据库技术》实验报告.docx
系别班级学号姓名地点地点机房课程名称MySQI,数据麻技术试验名称试验IMySQI.的运用实验过程目的要求:(I)驾驭MySQ1.服务器安装方法(2)西¢(MySQ1.Administrator的基本运用方法(3)基本了解数据库及其对象试验打算:(I)了解MySQ1.安装的软硬件要求(2) 了解MYSQ1.支持的身份验证模式(3) 了解MySQ1.各批件的主要功能(4)基本了解数据库、我、数据库对象试验内容:1 .安装MySQ1.服务器和MySQ1.界面匚具安装MySQ1.界面工具。插入安装好的界面工具截图即可)MySQ1.CommandIJneClient2 .mMySQI.客户端访问数据库(D打开起先,程序,MySQ1.,MySQ1.server5.1.MySQmandlineclient.进入MySQ1.客户城界面,输入管理员密码登录.GProgramFilesMySQ1.MySQ1.Server5.1binmysql.exeEnterpassword:XXXMeICOfetotheMySQ1.monitor.Comnandsendwith;o>.ourMySQ1.connectionidis3Scruerversion:5.1.32-comnunityMySQ1.Comn<nitySeruer<GP1.>ype,help;*or'h'forhelp.Type*c*toclearthebuffer.(2)在客户端输入“help”或h,查看MySQ1.帮助菜胞,细致间段幅助菜单的内容.IyUq1>heIpForinfo*n<tionaboutHySQ1.productsandservicesvisit:http:/Zwwwrysqlco”Fordeveloperinformation,incIudingtheMySQ1.RcfcrcnceHCrWel.uisit:http:ZZdeu.nysql.conTobuyMySQ1.NetworkSupportstrainingForotherproducts*visit:https:/shop.mysql.con/1.istofallMySQnands:NotethatalltextConndndSnustbefirstonlineandendwith?<?>SynOnynfor'help.clear<c>ClearCOMnandconnect<Xr>Reconnecttotheseruer.Optionalargumentsdbdhost.delinite>*dr1initcr.<d>Setstatementdeliniter.NOTE:Takestherestofthelineasn©eg。<G>Sendco11)andtoInySqlserver,displayresultvertically.exit<q>Exitmysql.Sahcasquit.goSendcofmadtomysqlserver.help<h>Displaythishelp.11otee<t>Don,twriteintooutflie.print<p>Printcurrentcomnand.pronpt<B>Changeyourmysqlpronpt.quit<q>Quitmysql.rehash<Mt>Rebuildconpletionhash.source<X.>ExecuteanSQ1.scriptFil.Takesafilnan©asanargument.st¾tus<Xs>Getstatusinformationfromthesc*uer.tee<T>SetOUtfile(to_outflie.Appendeverythingintogivenoutfile.use<u>Useanotherdetbc3cTakesdatabasenancasargument.charset<C>Switchtoanothercharset.MightbeneededforprocessingbinIovithmulti-bytecharsets.warnings<W>ShowwarnIngsaftereve1*ystatement.nowarning<w>Don*tshowwarningsaftereverystatement.Forserversidehelp,type,helpcontents,(3)好用show语句查看系统自动创建的数据库.nysql>SHOWDATABASES;SDatabase:-<infovnatio11.schena:ICySQlI:test:3rowsinset<0,1?sec>(4)好用USE语句选择mysql数据库为当前数据库.ysql>USEysql;atabaseChangCd(5)½mSHOWTAB1.ES语句查看当前数据阵中的表.nysql>SHOWTAB1.ES;1Tables_iniysqlI«*e«*«»*»三»三三三ICOlUfnn3-j>riuI:db:1event!Sfunc! gcncral_log»helpcategory8 HelpJwyword3Shelp_reIationI help-topic!Ihostt«ndb_binlog_indexIpluginI proc'1procs_priut!servers:Islow_logIStables_priuS1tincuzoneItir>e_2one_leap_second:1 tinc_azoneHBndinCI>tine_2one_tnansition>Jtincuzone_tran3ition_typcISuser23Fousinset<.32sec>(6)运用了一条SE1.ECi*,J查看mysql数捌库中存谛用户信息表的UsCr的内容.mysql>SE1.ECTUser->FROMuser;:User:IrootI;rootSrowsinset<0.0scc>(7)运用use语句物当前的数据库设定为infcmiatiokschcma,并查看数据库数据距中有哪些表.V图表见下页mysql>USEinforrwtionschennDatabasechangedmysql>SHoUTAB1.ES;ITablcs.in-infomation.schcna:CHARAeTEfCSETS!:1.1.ATIONS::CO1.UnIOH_CHARAClER_set_applicabiliiy::CO1.UMNS:CO1.UmCPRlUI1.EGES:ENGINES:EUENTS:FI1.ES:G1.OBA1._STATUStG1.OBA1._UARIAB1.ES:KEY_CO1.UIINJJSAGEIPARTITIONS:P1.UGINSIPROCESS1.IST:PROFI1.ING:REPERENTUCOHSIRAlNTS:ROUTINES:SCHEMATA:SCHEMA_PRIUI1.EGES:SESSION-STATUS:SESSIONjJARIAB1.ES:STATISTICS:TAB1.ES:TAB1.E-ConstraimtsTablejpriuileges:TRIGGERSIUSEIcPRlUI1.EGE6:UIEWS-三28rowsinset<0.00ec>试验小结:在安装MyWl中有时可能不能安装不胜利,JE么和我时,会存在删除不完全的状况,导致再次安装时依IH不胜利。在对某个数据库进行操作之前,必需先选中该数据库.在MySql安装过程中,留卷修通字符集为gb2312或gbk,以支持中文信息输入。系别班S1.学号姓名地点地点机房课程名称MySQ1.数据库技术试验名称试验2创建数据库和表实验过程目的和试骐要求:(1) 了解MySQ1.数据库中的存储引繁分类(2) 了解我的结何特点(3)了解MySQ1.的基本数据类型(4) 了解空伯的概念(5)学会在MySQ1.界面工具中创建数据库和表(6)学会运用SQ1.语句创建数据昨和我试验内容:I.试验遨目创建用于企业用于管理的员工管理数据库,数据库名为YGG1.,包含员工的信息,部门信息,及员工的薪水信息。数据库YGG1.包含下列三个表:(1)Employees:员工信息表(2) Departments:剖门信息表(3) Salary:员工薪水状况表表试蛟2.1Employees丧结构列名*是否允许空值说明Employeechar6S员工编号.主谊namecharIOS姓名educationchar4否学历tHthdaydate16SI生日期sexChar2西性别WOikycarIinyifU1是工作时同addressvarchar20地址b(>nenunberChar12是电话JepaiUnenlIDchar3西员工部门多.外键我试验22DePartmenl'农结构品名长度是否允许空假说,departmcntlDChar3否SJI.主城JcpMlmcnlNiIECchar20否部门名IMXCtext16是各注我试验2JSalary代玷构齐名长度是否允许空值说,CWloyfIMIDchar6S员工修号,王健Incooefl<wt8否收入Outccewfloot8S支出2.试脸打算苜先要明确.能够创建数据库的用户必需是数据管理员,或是被授权运用CREATEDATEBASE语句的用户.其次,确定数据库包含哪些表,以及所包含的个表的数据结构,还要了解MySQ1.的常用数据类型,以及创建数据库的表.此外还要了解两种常用的创建数据、表的方法,即在界面管理工具中创建和运用CREATDATEBASE语句创建.试验步骤:1 .运用吩时行方式创建数据库YGG1.(1) n?fMySQ1.coinnwndlineclient.输入管理员密码登录,运用CRENrE语句创建YGG1.数据底.ysql>CREATEDATABASEYGG1.;UCryOKf1rowaffected<0.tt0scc>(2)在YGG1.数据库存在的状况下,运用CREATDATEBASE语句新建数据阵YGG1.,我看错误信息,再尝试加上IFNOTEXISTS关犍词创建YGG1.看看有什么改变.ysql>CREATEDATABASEVGG1.;RROR100?<HV000>:C«n*tcreatedatabase'yggl'databaseexistsysql>CREATEMTABASEIFNOTEXISTSVGG1.;ueryO)GArowsaffected.1uat*ning<0.BAsec(3)运用吩咐方法创建数据库YGG1.I,要求数据森字符集为Ul愕,校对规则为UtflUCnCm1.Ci.nysql>CREATEDATABASEVGG1.l->DEFAU1.TCHARACTERSETUt£8->CO1.1.TEutf8_gener«l_ci;QueryOK,1>owaffected<0.05sec>2.运用SQ1.语句在YGG1.数据库中创建表employees执行创建表Employees的Sql语句.mysql>USEVGG1.Databasechangedmy5ql>CREATETAB1.EEmployees- ><- >EniployccIDchar<6>NOTNU1.1.- >Namechar<10>NOTNU1.1.,- >Educationchar<4>HOTNU1.1.,">Birthdayd<¾tetineNOTNU1.1.,- >Se×char<2>NOTNU1.1.DEFAU1.T'1',- >WorkYcertinyint<l>9- >Addressvai*cha>«<20>A- >PhoncNunbcrcar<12>,- >DepartnentIDchar<3>HOTNU1.1.,- >PRlnARYKEY<Enplo<,reID>- >>ENGINE-InnoDB;Quer9OK.0rowsaffected<0.39sec)3运用SQ1.谱句删除表和数据库(I)BM除&cmloymccs,rysql>DROPTAB1.EEmployees;QUeryO)GRrowsAffected<0.06sec>(2)捌除数据库YGG1.mysql>DROPDATABASEVGG1.;QueryOK,0rowsaffected<0.08ec>运用吩对行将表Studem中的Sdqx列州除,并添加“入学时间”列,其数据类型为H期型试脸小结:在不知道系统中是否存在要创建的数据库时,描好加上Ifnotexists.来避开因己存在而致使无法胜利创建的状况发生.对于创建表及删除数据库、表时.类同.系别班S1.学号姓名地点地点机房课程名称MySQ1.数据库技术试验名称试验3表数据插入、修改和删除(必)实验过程目的和试骐要求:(I)学会在界面管理工具中对数据库去进行插入、蜷改和删除数据愫作(2)学公用SQ1.语句对数据库进行插入、修改和删除数据操作(3) 了解数据更新操作时要曲总数楙完整性(4) 了解SQ1.语句刻表数据操作的敢捷限制功能试脸内容:1 .试验题目分别运用MySQ1./Xdministator和SQ1.语句,向在试骁2建立的数据库YGG1.的表EnlPloyees、DePartlnemS和Salary中插入多行数据记录,然后修改和删除一些记录.运用SQ1.进行有效的修改和捌除.2,试蛤打算首先,了解对衣数据的插入、删除、脩改部属于表数据的更新操作对衣数据的操作可以在MySQ1.AdmHIiS3Or中进行,也可以IlISQ1.语句实现.其次,要驾驭SQ1.中用于对去数据进行插入、,和删除的吩咐分别是INSERT、UPDATE41DE1.ETE要特殊的意在执行插入、删除和蟋改等数据更新操作时,必需保证数据完整性.此外,还要了解运用SQ1.语言在对表数据进行插入、怪改和删除时,比在MySQ1.AdminiSIatOr中操作衣数据更为故捷,功能更强大.在试验2中,用于试验的YGG1.数据阵中的3个表已经建立,现在要将各表的样本数据添加到表中.样本数据如表试缝3.1、表试验3.2和表试验3.3所示。/试验3.1EmpitAees表t!(iK样本"姓名学历逢生日知性别工作时间皿电话s<XXKX>1王林大专I966)l2318中山路32IQ08833556682OlODoS伍容华本科I976)328I3北京东路100.2833211321I020010王向荣硕士1982-12-0912四牌路ioo-io883792361I020018李丽大专l%OO73O06中山东路102-283413301I102201*明本科197%KM813虎踞路100-285WXW)S5102208朱俊幽土I96SO9-2812Wft»5-3-106847088175I(>8991林敏w*1979-08-1004中山路IO3.5«33467223111(X)6张石兵本科1974-aoI1赭故路3M2O3845634185210678林涛大专I977M-O2i2IljJtW24-35834673363302566李玉政本科I968X>92O13热河路209-3587659914308759叶凡本科197-11-1812北京西路3-7-52833彼9014504209陈林琳大专1969090305汉中路120412K446XI5X4我试a3.2Depaitnienlx表数及样本部门号每门名葬冬注n例门名*备注1财务部null4研发前null2人力侪海部null5市场都null3是理办公室null板试脸33SNlry表数据样本一号tt文出号tt支出OOoOol2100.8123.091(9913259制281420100()81582.62803020()102860.0298.01022()12569.381X5.650200182347.6X1X0.011100619X7.0179583(IK7592531%199.(»5(M2(W2066.15108.02106782240.0121.03O2%62980.7210.2IO22OSI<«0.0100.0试验步骤:I.运用SQ1.语句插入表数据(1)向表Employees中插入记录:(tJOOOOl;王林;大专二196601-23T8大山路32-l-508.'8335566872').币山路32-1-508,83355668,2,>QueryOK,1rowaffected<0.46sec>(2)运用REP1.ACE语句向DCParunCnlS表插入记录:(T;广告部':负或推广产品'),并交看是否已插入,IySq1)REP1.ACEINTODcpartncntsUA1.UES<,Il,广告部,负责推广产品,;UCryOK,2rowsaffected<0.1?scc>DepartncntlD2345DepartRentNanc;NotoS负责推广产品!NU1.1.:NU1.1.1NU1.1.JNU1.1.>4ousinset<A.0flsec>2 .运用SQ1.语句修改衣数据(1)运用SQ1.吩咐修改表SaIary,将编号为OlilI2的职工收入改为2890.ysql>UPDATESalarySEIInCone=2890->WHEREEnploirccID-,011112,;IueryOK.11i*ousaffected<0.1Asec>!owsmatched:0Changed:0Vannings:0(2)将全部职工收入增加100.mysql>UPDATESalarySET1Cone-InCone*100;MucryOK.12rowsaffected<0.07sec>Rowsnatc>ed:12Changed:12Ua>nings:0(3)运用SQ1.吩咐IW除EmPk>yS中编号为OIIU2的职工信息。ysql>DE1.ETEFROMEmPloyeeSWHEREEnployeeID三,011112,;Hie>*yOK,0rosaffected<0.0sec>(4)恻除全部收入大于25的员工信息,nysql>USEYGG1.Databasechangednysql>DE1.ETEFROMEnployees->WHEREEnployeclDIN<SE1.ECTEnployceIDPROMSalaryUHEREInComc>2500>QUCryOK.5pomsQffCCted<6.06sec)(5)运用TRANCATETAB1.E语句删除SaIary我中有行.(删除后请重新抽入,以后要用(nysql>USEVGG1.Databasechangednysql>TRUNCATETAB1.ESaUryl;QUeryOK.0rowsaffected<0.01sec>试验小结:剧苞分号为英文字符下的;在要求位询结果的属性列名用中文友示时,AS可加可不加;植树杳询时,还可用正则表达式;系别班S1.学号姓名地点地点机房课程名称MySQ1.数据库技术试验名称试验4数据库的查询和视图实验过程目的要求:(1)驾驭SE1.ECT语句的基本用法(2)与驭子查询的衣示(3)驾驭连接查询的表示(4)与驭SE1.ECT语句的GEOUPBY子句的作用和运用方法(5)可!双SE1.ECr语句的ORDERBY子句的作用和运用方法(6)熟识视图的概念和作用(7)驾驭视图的创建方法(8)驾驭如何查询和修改视图试验打算:(1)/解SE1.EC语句的基本语法格式(2) 了解SE1.ECT语句执行方法(3) 了解子杳询的表示方法(4) 了解查询的表示方法(5) 了解SE1.EcT语句的GROUPBY子句的作用和运用方法(6) 了解SE1.ECT语句的ORDERBY子句的作用(7) 了解SE1.ECT语句的1.lMn子句的作用(8) 了解视图的概念(9) 了解创建视图的方法(10)了解对视图的悚作试验内容:1.SE1.EC谱句的基本运用(1)JUSE1.ECT语句代询Departmtnis表的全部记录,:DepartnetName:NoteSMq1>USEYGG1.PatabaSCchanged卜ysql>SE1.ECTX->FROMDepartments;部室I部部部务力理卷财人经研币:NU1.1.J:NU1.1.:INU1.1.I:NU1.1.SINU1.1.I部室隽部.务财人经研币DepartmentID12rowsinset<0.00sc>(2)用SE1.ECT语句JS询SakIry及的全部记录.nysql>USEYGG1.Databasechangednysql>SE1.ECTX->FROMSalary;'EnployeeID<InCone'OnCone(I:00000152100.8;123.09(I:010008I1S82.62I88.03:02001。:2860:198:020018:2347.68:180a(:102201:2569.88I185.65:102208:1980:100a:1H8991I3259.98I281.52::111006:1987.01S79.58aI:210678:2248I121:J302566:2980.?:210.2(I:308759:2531.98:199.88(:504209:2066.15I1A8S12rowsinset<0-00sec>(3)川SE1.ECr讲句式询Departments表的部门号和部门名称列.ysql>SE1.ECTDepartmentID,DcpartncntNanc->FROMDep<ttnents;IDepartncntIDIDcpartnientNAncIrowsinset<0.AOsec>(4)查询Employees表中部门号和件别,要求运用DISTlNcT消退重现行.ll>SE1.ECTDISTINCTDepartmentID.Se×->FROMEnployccs;<DcpartncntID<Sexrowsinset<0.00scc>(5) i询月收入高于2000的员工号码。InySql.>SE1.ECTEraploycclD->FROMSalary->WHEREInCone>2000;.SEnployeeIDi:000901;:02010:020A181:102201:I108991I:210678;:302566!:308759:504209:9rowsinset<0.00sec>(6)立询全部1970以后诞生的员工的姓名和住址,ysql>SE1.ECTNaneAddress->FROfIEnployecs->WHEREBiMhday='1970-0-0';Name;Address0004&>6S1113QKQtf东西京牌踞山京北四来北华荣兵容向明敢石涛凡7rowsinset<0.00sc>(7)查询全部财务部门的员工号码和姓名.IySq1>SE1.ECTEnployccIDfNanc- >FROMEmployees- >WHEREDepartnentID=C- >SE1.ECTDep<¾rtmentID- >FROMDepartments- >UHEREDCPartfnCntNanC,财务部,);IEnploycclDIHamc!01BB08:伍宣华;I02RlAt王向荣IS020018!李明:.a*aMB三avBBOBO*4B>.BOBVBW3vowsinet<0.00ec>nysql>UPDATESalarySETInCone=InCome-I00;QueryOK,12rowsaffected<0.02scc>Rowsraatched:12Changed:12Wamings:A(8)查HUEmpoyccs表中男员:的姓名和诞生日期,要求个列标题用中文龙示.ysql>SE1.ECTN11cASH¾,BirthdayAS出生日期->FROMEmployees->UHERESex-,1,;李叶华荣兵琨林容向涛王凡t出生日期:1966-01-23I1976-03-28:1982-12-09I1972-10-18:1965-09-28I1974-10-01!1977-04-02»1968-09-20:1978-11-1800:0009:0000:0000:0000:0000:0000:000A:0fi000000000000908000(9)查询EmPIoyCCS员工的姓名住址和收入水平,2(XK)以下的显示为低收入.2()0()刑)0的显示为中等收入.3000以上的显示为高收入,ysql>SE1.ECTNdlnC.Actress.- >CASEWHENInCone<2000THEN,低收入,- >UHENInConcBETUEEN23UHAND3四3THEN'中等收入'- >UHENInCone>3000THEN,高收入,- >ENDfiS收入水平- >FROtIEmployees,Salary- >WHEREEnployees.Enploye1D=Salary.Enployce1D;RROR1054<42S22>:UnknowncoIunn,Adress*in'fieldlistiysql>SE1.ECTName,Address,- >CASEUHENInCOnC<2000THEN,低收入,- >WHENInConeBETWEEN2800AND3000THEN,中等收入,- >WHENInConc>3000THEN,高收入,- >ENDfiS收入水平- >FROfIEnployccs*Salarv- >WHEREEnployees.EnployeeID=Sala>*y.EmployeeID;-NameSAddressI收入水平;林高阳瞿敢石涛玉水王伍王李刘朱钟及李秣华荣兵琅琳路东路东SWS北山京牌山监河-1中北四为牌中晅扰北双12rowsin(10)计算SaIary表中员工月收入的平均数.1.ysql>USEYGG1.Databasechangedn93ql>SE1.ECTAUG<lnConc>AS,平均收入'->FROMSalary;I平均XI:237S.566640218111 rowinset<0.27scc>(ll获得Employees表中的最大的员工号码。nysql>SE1.ECThAX<EmployceID>->FROMEnployees;SMAXCEnployeeID>*三"»*I504209Irowinset<0.08sc>(12计算Salary表中全部员工的总支出.nysql>SE1.ECTSUM<0wtConc>AS'总支出'->FROMSalary;1总支出I-I1874.149978637?:(13)育询财务部官员的股高和最低实际收入。nysql>SE1.ECTMAX<InCone-OutCone>AS最高实际收入N(InCoee-OutCone)AS最低实际收入- >FROMErapl09ees,DcpdrtmentsSalr9- >WHEREEmployees.EnpIo9eeID=SaIary.EnpIoyeeID- >ANDEnployees.Departnent1D-Dcprtrtments.Dep*tncntID- >ANDDePai*tentNane="才务部T:-iS三-:2662:1494.5899963379:inSet<0.08S(14)找出全部其地址含有中山”的成员的号码及部门号。ysql>SE1.ECTEnployeeID4.DepartmentI->FROMEmployees->UHEREAddress1.IKE'z中山z'1EmployeeIDIDepcrtmcntIDSI0001I2S02018:1.:108991:3:210678:3o”?;inset<909黑匕c(15)位找员工号码中倒数其次个数字为Q的姓名、地址和学历。ysql>SE1.ECTNancAddressEducationFROMEnployees->WHEREEnployeclD1.IKE,Z0;Name.Address"Education盍专林;中山路32T-508北京东路10-2100-2-3-10634-1-203120-4-12(16)找出全部郃n-I”或”2”工作的鹿员的号码.ysql>SE1.ECTEnployeeID->FROMEmployeesDepartments->WHEREEmployees.DepartnentID=Departnients.DepartmentID->ANDDepartments.DcpartncntID1N<192>EnployeclD*.2000001:I010008t:02010:I02018Irowsinset<0.03scc>2.子查询的运用(I)用于查询的方法杳找全部收入在2500以下的雇员的状况,ysql>SE1.ECTX->FROMEmployees->WHEREEnployeeIDIN<SE1.ECTEnplosreeIDFROMSaUryWHEREInCoee<2508);!ScxIVorkYcar;AddrcIEnployccIDINameIEducationIBirtbdayIssI2PhoneNunber:DepartmentID:000001路32T-508S010008东路10-2:020018东路102-2;102208巷5-3-186;111006路34T-203:21067«北路24-35:504209路128-4-128±1.21?x.、86Un-86T301£/13M5林弘容1.累俊岩患方琳也£5正2长1代0长6木6东6113f344夕s4Kr4专2科1专1士5科5专3大本大硕本大:1966-01-2300IJ1976-03-2800I:1960-07-3000I:1965-09-2800I:1974-10-0100!;1977-04-0200:1969-09-0300明00000000006口»018;中山0013;北京0006:中山0012:牌楼001I:解放9012!中山!05:汉中(2)Jflr查询的方法由找研发部比财务部全部雇:员冬入都高的雇员的姓名.nyql>SE1.ECTNane- >FROMErapl09eesrSnlary,Dcpartreents- >WHEREInComeX1.1.