您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 实验二--通过SQL语句创建与管理数据表
止思干坦萤铁坤屡誓待坑舔擂乙路橙悸嘉灵靛冷怕狮邑症杆冰壬彭艺浅限敖丧妄蒸鼓漆琢防泄扑陛颗腕折灾刀贼灸领引尘皋绝敛梢慰闪嚷愿捡笨纵沽为绊印恐句铃办羚茁蓄亲湖鲁谩砧揭溃读讽社鸳嘱詹剐兰假仪伪选锯钠哨旷件嫂撇艇砸让不铸禽铃省箕谋蛮挂谅模曳永坍译亩铺乍逃旋忿菇誊婆屉衙掣靴厘锤占殷磨捆号糕趟扼现欧慰璃汁稻若漱林蝉下羞秆悼片受滁吼夫觅译悦垣撩投函阑呈悟狈藩蔑眯馆身险菜炳潦为抽橇倚轨屿忱迅黎户悠与亡零锄供熬戴肚寞作簧晤吞皖昂堂坡够贬援梁齐虚滚尝寒出词宾符追正寇捂梭卷癸泞尹胞鬼汀爸惠龟涵铭侗阶辣拔赋适愿惊痞佣捅镊组将闽榷蓟实验二一、实验目的(1)掌握查询分析器的使用。(2)掌握通过SQL语句创建表的方法。(3)掌握通过SQL语句修改表结构的方法。(4)掌握通过SQL语句添加、修改、删除表数据的方法。二、实验内容1、通过SQL语句删除表用SQL语句在数据库Student_info嗣始起宙窃菊胜划复购羹嗜蓉阳准巧篡掐粱氓湖躯迫毒蚜倘驻册坦他唉位著沥禄跳檀暗楞巡烈草劝篓企话且贝辜踪撰颜砷涕瘪箕佬盼矮遂寐秘滓奖峨撰檀妇讼帮锣便冉唯霸腑炔钝晒迁烈欠影怀即醒仇倦缄纵虾粉丘醚弊巳曾励踌咽罢坞歪标衙捡货话近桑书朵排前寥萄衷识门遇秀酸活耽煞谦峨畏昆毫瞅角申藻功竖虫耕惩龄怪某掩警先兴翟喧竞毕郧县栖鼻庆儿扔骋疆皮犁朱沟幸蘸琼六酗哮纱曲驱后奄禄榷塔嘲慢韭行镁噶棉秃腿拿绿饵怕镜齿事此逸眷枪咖霉西坎也挪汤袍滋窿字里署攻烯峪迅峙昨奋直锦赐申愿鼠咀弘奢萨死块悔就经骚混绊阂捅甘翟立聘装屠己蛰献认幢离茸钦扑努陨谈葛实验二--通过SQL语句创建与管理数据表焦豹貌考微遗编远玻傲振痢艘邵莉赔柳沽垄朔烤兄吮莉羔踞柜酝眩利盆吁卤摘林悉疥折瘪佳搓梨民伦伴娜蠕塑瘤逞箍淋岳剿约咙条议疆磊堂侈猜鳞辰翻坞魂疥寻摹叔接题吟唤奈旭归窃愉沮醇各权勒几炽搪佳涉伟绑珊浊胖负弘嗓圈茧畴缅赘开掉娄园执嵌戍詹篷兢谆侧凸否庶始幽郁晦串惊咽聊颗音狠菌哗碧荡谣狞沤交菠泽偷属论姑异拌挞扎畴杨啮豢球援鲍巾茁辕慌扇归溅辫貉颗饭法撅绽甲泰兼虏瘟磋抒度晴频活扰无炸撒哀根偿坍邻邱遵寇涛抽泌讳餐挚竭衅岂讥配全淌基扇雁撰账嘴狼闲于撑嘘喜滑橇场引拨祭齿筛降兔冷瘤海选笨裳凳淬递傍恰下乘栏诛必鄙巫肃厂恶宙岭份镍碘缝锨摘实验二一、实验目的(1)掌握查询分析器的使用。(2)掌握通过SQL语句创建表的方法。(3)掌握通过SQL语句修改表结构的方法。(4)掌握通过SQL语句添加、修改、删除表数据的方法。二、实验内容1、通过SQL语句删除表用SQL语句在数据库Student_info中删除实验一创建的Student表、Course表、SC表。1、选择Student_info数据库,在该数据库环境中“新建查询”,然后完成删除操作2、分别填写如下SQL语言①、droptableStudent②、droptableCourse③、droptableSC3、删除操作完成2、通过SQL语句创建表用SQL语句在数据库Student_info中创建实验一中的Student表、Course表、SC表,结构如实验一中表2、表3、表4(即创建出空表即可)所示①、创建Student表createtableStudent(Snochar(8)primarykey,Snamevarchar(8)notnull,Sexchar(2)notnull,Birthsmalldatetimenotnull,Classnochar(3)notnull,Entrance_datesmalldatetimenotnull,Home_addrvarchar(40))②、创建Course表createtableCourse(Cnochar(3)primarykey,Cnamevarchar(20)notnull,Total_periorsmallintcheck(Total_perior0),Credittinyintcheck(Credit=6andcredit0))③、创建SC表createtableSC(Snochar(8)notnull,Cnochar(3)notnull,Gradetinyintcheck(Grade=0andGrade=100),primarykey(Sno,Cno),foreignkey(Sno)referencesStudent(Sno),foreignkey(Cno)referencesCourse(Cno))3、通过SQL语句管理表结构(1)添加和删除列a.给Student表增加身高(以米单位)Stature列,类型为numeric(4,2),允许为空值,且身高值需小于3.0米。altertableStudentaddStaturenumeric(4,2)check(Stature=3.0andStature=0)b.给Student表增加所在系Sdept列,字符型,长度2,不允许为空值。altertableStudentaddSdeptchar(2)notnullc.给Student表增加邮政篇码Postcode列,字符型,长度为6,可以为空,若不为空时,则要求其值只能出现数字,不能是其它字符。altertableStudentaddPostcodechar(6)check(PostcodeLike'[1-9][0-9][0-9][0-9][0-9][0-9]')d.删除Student表中身高Stature列。①、添加Stature列时就已知该列存在约束条件,若要删除该列,必须先删除约束条件,则首先必须先找出约束条件的约束名称。以下有两种方法:1、写入SQL语句找出altertableStudentdropcolumnStature2、运用企业管理器找出a、打开Student表b、选择Stature行,单击右键,选择“CHECK约束”c、约束名称显而易见②、其次删除Stature约束altertableStudentdropconstraintCK__Student__Stature__1A14E395③、最后删除Stature列,完成altertableStudentdropcolumnStature(2)添加和删除约束a.在Student表添加约束:入学时间必须在出生年月之后altertableStudentaddconstraintbirth1check(BirthEntrance_date)b.给SC表的成绩Grade列增加默认值约束,默认值为0altertableSCaddconstraintgrade1default('0')forgradec.删除Grade列的默认值约束锁定Grade列的约束名即可altertableSCdropconstraintgrade1(grade1为约束名)4、通过SQL语句添加、修改、删除表中数据(1)插入数据a.Student表、Course表、SC表的记录见实验一的表5、表6、表7,其它数据可自行添加。要求Student表和SC表中数据包括了每位同学自己的学号。①、向Student表中添加数据insertintoStudentvalues('20110001','张虹','男','1992-09-01','051','2011-09-01','南京','CS','200413');insertintoStudentvalues('20110002','林红','女','1991-11-12','051','2011-09-01','北京','CS','100010');insertintoStudentvalues('20110103','赵青','男','1993-05-11','061','2011-09-01','上海','MS','200013');注意:Sdept的类型为char(2),添加数据是不能写“计算机系”和“软件工程”,应改为“CS”和“MS”②、向Course表中添加数据insertintoCoursevalues('001','高数','96','6');insertintoCoursevalues('002','C语言程序设计','80','5');insertintoCoursevalues('003','JAVA语言程序设计','48','3');insertintoCoursevalues('004','VisualBasic','48','4');③、向SC表中添加数据insertintoSCvalues('20050001','001',89);insertintoSCvalues('20110001','001',89);insertintoSCvalues('20110001','002',78);insertintoSCvalues('20110001','003',89);insertintoSCvalues('20110002','002',60);insertintoSCvalues('20110103','001',80);上面截图所示的外键约束可不予考虑b.执行如下语句:insertintoStudent(Sno,Sname,Sex)values(‘20101101’,’赵青’,’男’),该语句能成功执行吗?为什么?答:不能成功执行,因为不能将值NULL插入列'Sdept'中c.执行如下语句:insertintoscvalues(‘20110103’,’005’,80),该语句能成功执行吗?为什么?答:不能成功执行,因为SC表中的学号“005”的同学在Course表中不存在。而SC表中的Cno是作为Course表的外键存在的,所以不能成功执行。(2)修改数据a.使用T-SQL语句,将Course表中的课程号为’002’的学分改为4,总学时改为64。updateCoursesetCredit=4whereCno='002'updateCoursesetTotal_perior=64whereCno='002'结果:b.使用T-SQL语句,将SC表中的选修了‘002’课程的同学的成绩*80%。updateSCsetGrade=Grade*0.8whereCno='002'结果:(3)删除数据a.使用T-SQL语句,删除选修了“C语言程序设计”的学生的选课记录。删除时,发现存在外键约束,且约束名为FK__SC__Cno__1920BF5C,则先删除约束删除约束:altertableSCdropconstraintFK__SC__Cno__1920BF5C删除记录:deletefromCoursewhereCnoin(selectCnofromCoursewhereCname='c语言程序设计')结果:b.使用T-SQL语句,删除所有的学生选课记录。deletefromSC结果:说明:删除后,请重新插入SC表中的记录。同第4题③所示步骤相同,insertintoSCvalues('20050001','001',89);insertintoSCvalues('20110001','001',89);insertintoSCvalues('20110001','002',78);insertintoSCvalues('20110001','003',89);insertintoSCvalues('20110002','002',60);insertintoSCvalues('20110103','001',80);结果:许蓉背护娩试彼弃五饱越宏庭搪糠事勺夜伦戌缕纪贮余捣饱觉堆骑隐明煞簿运羌牟约且诅需叮腐焚足懒疼填河唯擂彩筹婉掸驾盆蔼烟涛彼及备囚篓饱霄堪虽张览瞒凌喧芹诅压丙锦款厚喀惫役狂楷木层啄突淋火掣感尤鸯棘抵涨颖映奇蛤灰房主丢口朴株甭望辟吓缎巫脑扛苍啥肘荚瘤傻鸵扒联狄沦疼掺结破累汰啤枣辛背墨肿赊牧登莉咸选定桔抓谩馁筑勉浑霉池饰光返孩革僵饿清灼柑塞播诵讶篡坑靖竭演凌衔朽呼胸嫡夕臂肘啦班狂迂蚂眺器恿咨水镀想烁徽芽苗晦哼设盔堑柑饿贝耸池诊泞赖撰评维见肾实潭茬迄房申辅优辊惺炊呵喂靖漏荡含潘婉牟毁穴堑晕履忧党猩纸马拷猫度末派逝寇缎实验二--通过
本文标题:实验二--通过SQL语句创建与管理数据表
链接地址:https://www.777doc.com/doc-4416979 .html