实验四 数据更新
实验四数据库更新,视图和数据控制
嘉应学院计算机学院一、实验目的通过实验掌握数据库更新的方法和完整性约束的概念以及视图建立和操作方法。
掌握SQL SERVER的数据控制和安全性设计的基本方法, 存储过程的建立和使用方法。
二、实验原理1、插入数据INSERTINTO<表名〉[<属性列1〉[,<属性列2〉...)]VALUES(<常量1>[,<常量2>]...)2、修改数据UPDATE <表名>SET<列名〉=<表达式〉[,<列名〉=<表达式〉]...[WHERE<条件〉]3. 删除数据DELETEFROM<表名>[WHERE<条件>4. 建立视图CREATE VIEW <视图名〉[(列名〉[,(列名〉]...AS <子查询〉[WITH CHECK OPTION]5. 授权GRANT<权限>[,<权限>]...ON<对象类型〉<对象名>]TO<用户> [,<用户>]...[WITH GRANT OPTION]三、实验环境操作系统:Windows Server 2003 、Windows 7编译环境:SQL Server Enterprise Manager数据库管理系统:Microsoft SQL Server 2005四、实验步骤及内容(一)数据库更新1. 在school数据库中,确保表之间已经建立关系,用企业管理器建立数据库的Diagrams2. 在course 表中删除cno=1的记录,有什么结果?未删除前course表的内容如下:执行删除操作后,结果如下:3. 在Diagrams中编辑course表和 sc表之间的关系,选择cascade delete related records执行级联删除操作前,三个表之间的关系如图:在SC表中的属性关系里选择级联删除相关记录,如图:再查看三表之间的关系:重复2的操作,观察course 表和 sc表的变化,有什么结果,为什么?可观察到:Course表与sc表中的cno=‘1’的记录都删除了。
实验四 数据更新
实验四数据更新一、实验目的1、掌握SQL语言的数据更新操作。
2、掌握创建索引的目的和方法。
二、实验预习1、INSERT语句格式:INSERTINTO<表名>[(<属性列1>[,<属性列2>]……)]VALUES(<常量1>[,<常量2>]…);2、UPDATE语句格式:UPDATE<表名>SET <列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];3、DELETE语句格式:DELETEFROM<表名>[WHERE<条件>];三、实验内容及要求1、插入数据(1)在学生表Student中插入数据:Sno:9512102 Sname:刘晨 Ssex:男 Sage:20 Sdept:计算机系INSERTINTO studentVALUES('9512102','刘晨','男','20','计算机系');(2)在课程表Course中插入数据:Cno:C06 Cname:数据结构Ccredit:5 Semster:4 INSERTINTO courseVALUES('C06','数据结构','5','4',NULL);(3)在选课表SC中插入95211班学生选修C04的选课信息。
提示:多行数据插入,插入的数据的sno从student表中查询而来,插入的cno为“C04”INSERTINTO sc(sno,cno)SELECT sno,'C04' FROM student WHERE sno LIKE '95211%';2、修改数据(1)将所有学生的年龄增加1岁。
数据库实验报告四
姓名:学号:专业班级:日期:实验四数据更新、视图的创建与修改一、实验目的1、学会使用INSERT、UPDA TE、DELETE等SQL语句进行数据更新;2、学会使用CREATE、DROP等SQL语句创建和删除视图。
二、实验内容1、在sql server2008中使用INSERT、UPDATE、DELETE语句进行数据更新。
2、在sql server2008中使用CREATE、DROP语句创建和删除视图。
三、实验步骤1、在数据库S-C的三个表中分别插入以下数据:学生表student:课程表course:成绩表sc:2、在sql server2008中:(1) 选择数据库S-C,用INSERT语句向学生表student中插入一个新生记录(学号:95020;姓名:陈东;性别:男;所在系:IS;年龄:18)。
(2) 在数据库S-C中建立一个新表deptage,其中一个字段存放系名,另一个字段存放相应得学生平均年龄;然后对学生表student按系分组求平均年龄,再把系名和平均年龄存入新表中。
3、在sql server2008用UPDA TE语句更改表中数据。
(1) 将所有学生的年龄都增加1岁。
(2) 将IS系全体学生的成绩置零。
(3) 分别运行SQL语句,观察运行结果。
4、在sql server2008中用DELETE语句删除表中数据。
(1) 删除学号为“95020”的学生记录。
(2) 删除IS系所有学生的成绩记录。
(3) 分别运行SQL语句,观察运行结果。
5、在sql server2008中用CREATE语句建立视图。
(1) 建立IS系学生的视图IS_student。
(2) 建立IS系选修了1号课程的学生的视图IS_s1。
(3) 建立IS系选修了1号课程且成绩载90分以上的学生的视图IS_s2。
(4) 分别运行SQL语句,观察运行结果。
6、在查询分析器中用DROP语句删除视图IS_student,并观察结果。
[小学]实验四数据更新、视图
实验四SQL Serve的数据更新、视图一、实验目的:1)掌握采用Transact-SQL实现嵌套查询。
2)掌握采用Transact-SQL实现数据更新。
3)掌握采用Transact-SQL实现视图的定义、删除、查询与更新。
二、实验内容(一)数据更新1)插入一个学生:张红,女,200215135,信息系,20岁2)插入一个选课录:200215135,1,成绩未定3)将计算机系所有学生的年龄加1岁4)删除所有200215130学生的选课记录5)删除所有姓张的同学的信息6)请自行设计案例对学生-课程数据库的数据更新,并观察是否有违反数据的完整性约束。
(二)视图1)创建一个学生成绩统计视图,包括学号,姓名,选课门数,平均分,最高分,最低分2)利用上题所建视图实现:(1)查询成绩高于自己平均成绩的选课记录(2)查询每个同学获得最高分的选课记录3)请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。
针对该视图完成下列查询:①找出三建工程项目使用的各种零件代码及其数量;②找出供应商S1的供应情况;三、实验要求(1)写出正确的Transact-SQL命令。
(2)无须记录正确的查询结果。
但要求记录实验过程中发生的有学习意义的错误及错误信息。
四、实验小结(一)数据更新1) 插入一个学生:张红,女,200215135,信息系,20岁insertinto student(sname,ssex,sno,sdept,sage)values('张红','女','200215135','IS','20');2) 插入一个选课录:200215135,1,成绩未定insertinto sc(sno,cno)values('200215135','1');3) 将计算机系所有学生的年龄加1岁select sno,sname,ssex,sage+1,sdeptfrom studentwhere sdept='CS';4) 删除所有200215130学生的选课记录deletefrom scwhere sno='200215130';5) 删除所有姓张的同学的信息deletefrom scwhere sc.sno in(select student.snofrom studentwhere sname like '张%')godeletefrom studentwhere sname like '张%'goselect * from studentselect * from sc6)请自行设计案例对学生-课程数据库的数据更新,并观察是否有违反数据的完整性约束。
数据库原理 实验四 数据更新与视图操作
实验四数据更新与视图操作一、实验目的(1)掌握向表中插入一个或多个元组的方法。
(2)掌握删除表中一个或多个元组的方法。
(3)掌握修改表中一个或多个元组的方法。
(4)掌握视图的创建、查询和更新操作。
二、实验环境Windows XP+SQL Server 2000三、实验内容1.插入数据(1)插入一行数据例:将新商店(s05,沃尔玛,上海)插入到Shop表中。
(2)插入多行数据例:创建与表Shop具有相同结构与相同数据的新表Shop1。
2.修改数据(1)修改一行数据例:将商店s02的商店名改为红五星。
(2)修改多行数据例:将所有商品的价格增加100元。
3.删除数据(1)删除一行数据例:删除s05商店的基本信息。
(2)删除多行数据例:删除苏果商店的所有销售记录。
4.视图的基本操作(1)创建视图①行列子集视图的创建。
例:创建北京地区所有商店的基本信息视图V1。
②带WITH CHECK OPTION的视图创建。
例:创建北京地区所有商店的基本信息视图V2,要求基于该视图进行更新操作时只能涉及北京地区的商店。
③基于多个基本表的视图创建。
例:创建北京地区所有商店的销售记录视图V3。
④基于视图的视图创建。
例:创建北京地区、销售量大于100的销售记录视图V4。
⑤分组视图的创建。
例:创建各商店平均销售量的视图V5。
(2)查询视图①基于非分组视图的查询。
例:查询北京地区、商店名为联华的商店信息。
②基于非分组视图和基本表的查询。
例:查询北京地区、销售了p01商品的商店。
③基于分组视图的查询。
例:查询平均销售量大于100的商店名和平均销售量。
(3)更新视图①视图上插入数据。
例:向视图V1中插入新商店(s05,农工商,北京)的信息。
例:向视图V1中插入新商店(s06,家乐福,上海)的信息。
例:向视图V2中插入新商店(s07,德尚,上海)的信息。
②视图上删除数据。
例:删除视图V1中商店号为s04的记录。
③视图上修改数据。
例:将视图V1中s02商店的商店名改为五星。
实验四 数据更新与视图
实验四数据更新与视图一、实验目的1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
二、预备知识1.数据更新基本语句及其格式(1)插入操作SQL的数据插入语句INSERT有两种形式:①插入单个元组,使用命令:INSERT INTO 基本表名(列名表)V ALUES (元组)②插入子查询的结果:INSERT INTO 基本表名(列表名)查询语句(2)修改操作当需要修改指定关系中元组的值时,可使用下列语句实现:UPDATE 基本表名SET 列名1=值表达式1[,列名2=值表达式2…][WHERE 条件表达式](3)删除操作删除关系中满足条件的元组语句格式如下:DELETE FROM <表名>Where <条件表达式>三、实验内容1.在实习二创建的“gongcheng”数据库中使用SQL语句完成以下操作:(1)现有一供应商,代码为S9、姓名为英特尔、所在城市西安,供应情况如下:供应零件P5给工程J7数量为600,供应零件P4给工程J4数量为500,请将此供应商的信息和供应信息插入数据库。
代码:insert into S(Sno,Sname,City)values('S9','英特尔','西安')结果;(2)请将北京供应商的供应数量加20代码:update SPJ set QTY=QTY+20where Sno in(select Sno from S where City='北京')结果:(3)零件P3已经停产,请将P3的相关信息从数据库中删除。
代码:deletefrom SPJwhere Pno='p3'deletefrom Pwhere Pno='p3'结果:(4)创建零件名为螺丝刀的供应情况的视图P_ls,包括供应商名(Sname),零件名(Pname),零件重量(Weight),工程项目代码(Jno),供应数量(QTY).代码:create view P_lsASselect Sname,Pnsme,Weight,Jno,QTYfrom S,P,SPJwhere Pnsme='螺丝刀'and S.Sno=SPJ.Sno结果:(5)在视图P_ls中查询供应数量为500的供应商姓名。
数据库实验报告数据更新
大连海事大学数据库原理课程实验大纲实验名称:实验四数据更新实验学时: 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_PA TH TO SALES,PUBLIC;INSERTINTOCUSTOMER(CUSTKEY,NAME,ADDRESS,NATIONKEY,PHONE,ACCTBAL,MKTSEGMENT,C OMMENT)V ALUES('28','陆奕诚',’江苏','40','140',2,'1市区','我');(2)INSERT基本语句(插入部分列的数据,要求随机生成某些数字列或者字符列的数据)。
插入一条订单记录,可以只给出必要的几个字段的值,其中数值字段可以用RANDOM函数随机生成数值INSERTINTO ORDERS(ORDERKEY,CUSTKEY,TOTALPRICE,SHIPPRIORITY)V ALUES(2600,17,1000000*RANDOM(),10000*RANDOM());(3)UPDATE基本语句(修改所有记录的某些列的值)。
数据库实验报告实验四数据更新与视图
实验四数据更新与视图一、实验目的1、掌握数据更新语句的使用;2、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。
二、预备知识1.数据更新基本语句及其格式(1)插入操作SQL的数据插入语句INSERT有两种形式:①插入单个元组,使用命令:INSERT INTO 基本表名(列名表)V ALUES (元组)②插入子查询的结果:INSERT INTO 基本表名(列表名)查询语句(2)修改操作当需要修改指定关系中元组的值时,可使用下列语句实现:UPDA TE 基本表名SET 列名1=值表达式1[,列名2=值表达式2…][WHERE 条件表达式](3)删除操作删除关系中满足条件的元组语句格式如下:DELETE FROM <表名>Where <条件表达式>三、实验内容1.在实习二创建的“gongcheng”数据库中使用SQL语句完成以下操作:(1)现有一供应商,代码为S9、姓名为英特尔、所在城市西安,供应情况如下:供应零件P5给工程J7数量为600,供应零件P4给工程J4数量为500,请将此供应商的信息和供应信息插入数据库。
SELECT * FROM JPSSELECT * FROM SINSERT INTO S (SNO,SNAME,Ctiy) V ALUES('S9','英特尔','西安')INSERT INTO jps (SNO,PNO,JNO,QTY) V ALUES('S9','P5','J7',600)INSERT INTO jps (SNO,PNO,JNO,QTY) V ALUES('S9','P4','J4',500)(2)请将北京供应商的供应数量加20UPDA TE JPS SET QTY=QTY+20 WHERE JNO IN(SELECT JNO FROM J WHERE Ctiy='北京')(3)零件P3已经停产,请将P3的相关信息从数据库中删除。
实 验 四 视图索引和数据更新
实验四视图索引和数据更新一、实验目的:熟练掌握索引的建立与删除的方法,SQL的应用,数据插入、修改和删除以及视图的创建及使用,为后续学习作准备。
二、实验属性(验证性)1.了解并掌握SQL企业控制管理器的使用。
2. 掌握数据插入、修改、更新和删除。
3.掌握索引、视图的创建。
4. 掌握索引、视图的删除。
三、实验仪器环境与要求PC机,SQL SERVER2005。
四、实验要求1.复习教材第三章,熟悉SQL语句。
2.能够熟练掌握数据插入、修改、更新和和删除语句的一般格式及使用方法。
3.掌握索引的建立和删除方法。
4.掌握视图建立、修改和删除;5.掌握视图查询。
6.五、实验原理SQL语言基本应用。
六、实验步骤:(1)启动SQL SERVER。
(2) 附加数据库;(3) 验证如下例子:1 建立索引1. 为学生选课数据库中的Student,Course,Sc三个表建立索引。
其中Student表按“学号”升序建唯一索引C1,Course表按“课程名”降序建唯一索引C2,Sc表按“学号”升序和“课程号”升序建唯一索引C3。
CREATE UNIQUE INDEX C1ON STUDENT(SNO);CREATE UNIQUE INDEX C2ON COURSE(CNAME DESC);CREATE UNIQUE INDEX C3ON SC(SNO,CNO);2. 在基本表Student的Sname(姓名)列上建立一个聚簇索引c4,而且Student中的物理记录将按照Sname值的升序存放。
CREATE CLUSTER INDEX C4ON STUDENT(ANAME)2 删除索引3. 删除以上所建索引C1、C2、C3。
DROP INDEX STUDENT.C1;DROP INDEX COURSE.C2;DROP INDEX SC.C3;3 建立视图4. 建立数学系学生的视图math_stu,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。
实验四 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更新操作。
SQL实验四_SQL的数据更新
实验四、数据更新
1、实验目的
熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、更新、删除操作。
2、实验内容
●在本实验中,主要内容是如何用SQL语句对数据进行更新。
●使用INSERT INTO语句插入数据,包括插入一个元组或将子查询的结果
插入到数据库中两种方式。
●使用UPDATE语句可以修改指定表中满足WHERE子句条件的元组,有
三种修改的方式:修改某一个元组的值;修改多个元组的值;带子查询
地修改语句。
●使用DELETE语句删除数据:删除某一个元组的值;删除多个元组的值;
带子查询地删除语句。
3、实验步骤
在数据库University_Mis上按下列要求进行数据更新。
(1)使用SQL语句向Students表中插入元组(Sno:S78; Sname:李迪;
Semail:LD@; Scredit:0;Ssex:男)。
(2)对每个课程,求学生的选课人数和学生的平均成绩,并把结果存入。
(3)在Students表中使用SQL语句将姓名为李迪的学生的学号改为S70。
(4)在Teachers表中使用SQL语句将所有教师的工资加500元。
(5)将姓名为刘华的学生的课程“数据库原理及其应用”的成绩加上6分。
(6)在Students表中使用SQL语句删除姓名为李迪的学生信息。
(7)删除所有选修课程JA V A的选修课记录。
(8)对Courses表做删去学分<=4的元组操作,讨论该操作所受到的约束。
数据库实验报告数据更新
大连海事大学数据库原理课程实验大纲实验名称:实验四数据更新实验学时: 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基本语句(修改所有记录的某些列的值)。
数据库-实验四-数据更新与视图
实验四数据更新与视图北京师范大学珠海分校信息技术学院12计算机1班一、数据更新使用相应SQL语句,完成如下操作:(1)根据订单信息更新order表中的payment(订单总金额)字段的值。
update"order"set"order".payment=a.totalfrom(select orderid,sum(price*quantity)as totalfrom book,orderbookwhere bookid=bidgroup by orderid)awhere"order".oid=a.orderidselect oid,paymentfrom"order"(2)新建图书订购情况统计表bookstas(包含图书编号、图书名称、图书类别、图书价格和订购册数,数据类型自定),并根据数据库的订单情况将社科类图书的订购情况插入表中。
图书订购情况统计表bookstas表bsid btitle bcategory bprice ordersell 图书编号图书名称图书类别图书价格订购册数int varchar(50)int float int Primary keycreate table bookstas(bsid int primary key,btitle varchar(50),bcategory int,bprice float,ordersell int);insertinto bookstas(bsid,btitle,bcategory,bprice,ordersell)select bid,title,category,price,sum(quantity)from orderbook,bookwhere category='2'and bookid=bidgroup by bid,title,category,price;select bookstas.*from bookstas;(3)新建用户订购统计表userstas(包含用户编号、用户名、订单数量、总金额,数据类型自定),并根据数据库的订单情况将活跃用户(正常使用、锁定)的情况插入表中。
实验4-sql数据更新
SQL数据更新1.插入数据1)向STUDENT 表插入下列数据:INSERT INTO Student VALUES(‘1001’,’9946312’,'张天','男',2000-01-30); INSERT INTO Student VALUES(‘1002’,’9946312’,'李兰','女', 2000-08-30); INSERT INTO Student VALUES(‘1003’,’9946312’,'陈铭','男', 2000-07-30); INSERT INTO Student VALUES(‘1004’,’9946312’,'刘茜','女', 2000-03-30); INSERT INTO Student VALUES(‘1005’,’9946312’,'马朝阳','男', 2000-12-30); 2)向COURSE 表插入下列数据:1,数据结构,101,42,数据库,102,43,离散数学,103,44,C 语言程序设计,101,2INSERT INTO Course VALUES(1,'数据结构',101,20,4);INSERT INTO Course VALUES(2,'数据库',102,,30,4);INSERT INTO Course VALUES(3,'离散数学',103,0,4);INSERT INTO Course VALUES(4,'C 语言程序设计',101,30,2);3)向grade 表插入下列数据:1001,1,801001,2,851001,3,781002,1,781002,2,821002,3,861003,1,921003,3,901004,1,871004,4,901005,1,851005,4,92INSERT INTO SC VALUES(1001,1,80);INSERT INTO SC VALUES(1001,2,85);INSERT INTO SC VALUES(1001,3,78);INSERT INTO SC VALUES(1002,1,78);INSERT INTO SC VALUES(1002,2,82);INSERT INTO SC VALUES(1002,3,86);INSERT INTO SC VALUES(1003,1,92);INSERT INTO SC VALUES(1003,3,90);INSERT INTO SC VALUES(1004,1,87);INSERT INTO SC VALUES(1004,4,90);INSERT INTO SC VALUES(1005,1,85);INSERT INTO SC VALUES(1005,4,92);4)向TEACHER 表插入下列数据: 101,张星,10102,李珊,10103,赵天应,10104,刘田, 20INSERT INTO Teacher VALUES(101,'张星',10);INSERT INTO Teacher VALUES(102,'李珊',10);INSERT INTO Teacher VALUES(103,'赵天应',10);INSERT INTO Teacher VALUES(104,'刘田', 20);5)向DEPT 表插入下列数据: 10,计算机科学与技术20,信息系统INSERT INTO Department VALUES(10,'计算机科学与技术'); INSERT INTO Department VALUES(20,'信息系统');2.修改数据将数据结构课的学生成绩全部加2 分UPDATE gradeSET GRADE = GRADE + 2WHERE course_id IN(SELECT course_idFROM CourseWHERE Course = '数据结构');3.删除数据删除马朝阳同学的所有选课记录DELETE FROM gradeWHERE Student_id IN(SELECT Student_idFROM StudentWHERE SNAME = '马朝阳');。
数据库系统原理-实验04-数据更新和视图
2011-2012学年第二学期课程实验报告课程名称:数据库系统原理实验名称:数据更新和视图姓名班级学号实验台编号同组同学实验课表现出勤、表现得分25% 25 实验报告得分50% 实验总分操作结果得分25% 25实验目的1.学会熟练使用INSERT语句对数据表进行数据插入操作。
2.学会使用UPDATE语句对数据表中的数据进行修改操作。
3.学会使用DELETE语句对数据表中的数据进行删除操作。
4.了解使用视图的目的与好处,掌握视图与基本表的关系。
5.掌握如何使用SQL语句创建、修改、删除和查询视图。
实验内容(实验步骤和实验结果的简单描述,方便同学自己以后阅读)一、数据的插入、删除和修改1.创建表XS1(包括学号、姓名、性别和出生日期字段,各个字段属性自定),然后使用SELECT子句向表XS1中插入多行数据(专业为“电子”的学生数据)。
2.修改XS1表的结构,增加1个“平均成绩”字段,并根据XS_KC表修改每个学生的“平均成绩”。
3.将XS表中计算机专业的学生的总学分增加10分。
4.将XS表中学号为“4102101”的同学的总学分增加4分,备注改为“提前修完一门课程”。
5.将XS_KC表中学号为“4102101”的同学的“计算机基础”课程的成绩增加10分。
6.修改XS1表的结构,增加1个“总学分”字段,并使其值为该学生所学各门功课的学分之和。
7.将XS1表中总学分小于10分的学生数据删除。
8.将XS_KC表中“数据库”课程的所有成绩信息删除。
9.将XS_KC表中其学号在XS表中不存在或其课程号在KC表中不存在的学生的成绩信息删除。
10.删除XS1表中前两个同学的基本信息。
11.删除XS1表中的所有数据。
12.删除XS1表。
二、视图操作1.使用SQL语句创建视图V_SCORE1,使其显示计算机专业学生的所有基本信息,并保证以后对该视图的修改都要满足专业为“计算机”这个条件。
2.使用SQL语句创建视图V_SCORE2,显示计算机专业每个学生的学号、姓名、选修的课程名称及其成绩。
实验4 数据查询数据更新
XX实验报告学号 :系别专业班级姓名课程名称课程类型学时数实验名称实验目的:掌握数据查询中的分组,统计和计算的操作方法、掌握查询的表示并且深入理解SQL语言的查询语句掌握SQL Server数据更新语言的使用能够要求对数据库指定的数据进行更新操作实验要求:了解子查询的表示方法,熟悉SQL脚本运行环境,并且了解UPDATE/INSERT/ DELETE这些更新语句的基本语法和基本用法,最后将试验结果写成实验报告实验。
内容:1.在SQL Server Mangement Studio中,单击工具栏的“新建查询”按钮。
2.在新的空白查询窗口输入查询代码。
3.单击执行按钮4.查看相关结果。
5.在数据更新中包括插入,修改,删除等操作。
数据插入 INSERT ,数据修改 UPDATE , 数据删除 DELETE.实验结果:实验。
首先创建好course,student,cs三张表。
如图所示:属性有:Cno,Cname,Cpno,Cccredit。
如图所示:属性有:sno,sname,ssex,sage,sdept。
如图所示:属性有:sno,cno,grade。
如图所示:查询全体学生的姓名,出生年份和所在院系,要求用小写字母表示系名如图所示:查询选修了课程的学生学号:如图所示:查询选修了年龄小于20的学生姓名:如图所示:查询选修了课程号为3成绩从高到底排列的学生学号:如图所示:在数据更新中,使用insert语句,要求在student表中插入一个元组(201315127,陈东,女,is,18)如图所示:在数据更新中,使用update语句,修改将计算机系全体学生成绩置为0如图所示:在数据更新中,使用delete语句,删除一条记录实验总结:通过本实验,掌握了SQLSever2008的基本操作。
包括对数据库数据的查询,插入,修改,删除等操作。
熟练掌握了select,insert,update,delete等语句的使用,数据库操作的基本,希望自己能够更加熟练地使用数据库。
数据库报告4-交互式SQL—数据更新
实验四交互式SQL—数据更新一实验要求实验目的:掌握查询语句和组合查询的操作方法,进一步加深对select语句的理解注意事项:子句的使用;注意语句的层次嵌套关系和括号的配对使用问题;注意输入SQL语句时均应使用西文操作符号二实验内容a.创建查询窗口,设置查询环境b.分组查询;统计查询;嵌套查询三实验代码新建查询窗口,选择studentcourse为当前数据1)向表s中插入(0008,赵琳,男,1985-09-08,计算机)的记录2)向sc表中添加一个学生的选课记录,学号为0001,所选的课程号为2。
Sc 表中有sco,cno,grade这三个列,这里只知道学号和课程号,不知道成绩值3)向表s中插入(0009,张修雨,default)记录,该记录的数据中default 表示默认值‘男’,其他数据表示空4)用create语句建立表studentBAK1,包含(与s的sno,sname dept相同)3个字段,然后用insert select 语句实现向studentBAK1添加s表中的计算机系学生的学号和姓名所在系5)用select...into语句实现把s表中1986年后出生学生的学号姓名存储到一个新表studentBak16) 将姓名为赵琳的同学的所在系改为机电系,爱好改为足球6)将选修了课程名为数据库原理的学生成绩加5分8)将studentcourse数据库的studentBAK1表中的所有姓赵的同学删除9)删除计算机系选修课程不及格的学生选修课程10)将studentcourse数据库的studentBAK1表中的所有记录行删除四实验总结通过做这个实验,使我更熟练的使用数据库delete,set,update数据,又一次强化了对SQL的操作,对上学期学的数据库加深了理解。
对SQL的基本操作不存在问题了.。
实验4 数据更新(090511)
实验四数据更新一、实验目的1、掌握SQL语言的数据更新操作2、掌握SQL Server 2000企业管理器的数据导入和导出功能请同学们反复演练,一定要达到能在开发中灵活运用的的地步。
二、实验预习1、数据插入语句格式:insertinto <表名> [(<属性列1> [,<属性列2> …)]valuese(<常量1>[,<常量2>]…);2、数据修改语句格式:update <表名>set <列名>=<表达式>[,<列名>=<表达式>]…[where <条件>];3、数据删除语句格式:deletefrom <表名>[where <条件>];4、SQL Server进行批量数据导入和导出,支持哪几类环境之间的转换?ASCII文本文件、OLEDB数据源、文本文件、ODBC数据源、EXCEL电子表格三、实验内容和要求在数据表Student、SC、Course的基础上,用SQL语句完成下列查询,并在SQL SERVER企业管理器或查询分析器中得以验证:1、修改数据(1)一个学生刚刚来我校注册,请在在学生表(Student)中插入一条学生记录数据:学号:090511190 ;姓名:刘大志年龄:20岁;系别:计算机系(或CS);性别:男Insert into StudentValues ('090511190','刘大志','男',20,'计算机系');(2)学校教务处决定在第4学期新开一门选修课《健身强体要从现在做起》,课程号为100,无先修课做准备,学分还未确定。
请在数据库的相应表中添加一条与之相应的数据:insert into Coursevalues('100','健身强体要从现在做起',NULL,NULL,4);(3)在选课系统中,学生090511190选修了3号课程,请将该条选课信息记入数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四数据更新
一、实验目的
1、掌握SQL语言的数据更新操作。
2、掌握创建索引的目的和方法。
二、实验预习
1、INSERT语句格式:
INSERT
INTO<表名>[(<属性列1>[,<属性列2>]……)]
VALUES(<常量1>[,<常量2>]…);
2、UPDATE语句格式:
UPDATE<表名>
SET <列名>=<表达式>[,<列名>=<表达式>]…
[WHERE<条件>];
3、DELETE语句格式:
DELETE
FROM<表名>
[WHERE<条件>];
三、实验内容及要求
1、插入数据
(1)在学生表Student中插入数据:
Sno:9512102 Sname:刘晨 Ssex:男 Sage:20 Sdept:计算机系INSERT
INTO student
VALUES('9512102','刘晨','男','20','计算机系');
(2)在课程表Course中插入数据:
Cno:C06 Cname:数据结构Ccredit:5 Semster:4 INSERT
INTO course
VALUES('C06','数据结构','5','4',NULL);
(3)在选课表SC中插入95211班学生选修C04的选课信息。
提示:
多行数据插入,插入的数据的sno从student表中查询而来,插入的cno为“C04”INSERT
INTO sc(sno,cno)
SELECT sno,'C04' FROM student WHERE sno LIKE '95211%';
2、修改数据
(1)将所有学生的年龄增加1岁。
UPDATE student
SET sage=sage+1;
(2)修改“9512101”的“C01”课程成绩为85。
UPDATE sc
SET grade=85
WHERE sno='9512101' AND cno='C01';
(3)修改“王大力”的“计算机导论”课程成绩为70。
UPDATE sc
SET grade=70
WHERE sno IN(
SELECT sno
FROM student
WHERE sname='王大力' AND cno IN(
SELECT cno
FROM course
WHERE cname='计算机导论'
)
);
(4)将所有平均分为75分以上的学生的各门课成绩在原来基础上加5分。
UPDATE sc
SET grade=grade+5
WHERE sno IN(SELECT sno FROM (SELECT sno FROM sc GROUP BY sno HAVING AVG(grade)>75)AS a);
(5)修改“高等数学”课程倒数三名成绩,在原来分数上减5分。
UPDATE sc
SET grade=grade-5
WHERE cno IN(SELECT cno FROM course WHERE cname='高等数学')
AND grade IS NOT NULL
ORDER BY grade LIMIT 3;
3、删除数据
(1)删除“9531102”学生“C05”课程的成绩记录
DELETE FROM sc
WHERE sno='9531102' AND cno='C05';
(2)删除“张海”的所有成绩记录
DELETE FROM sc
WHERE sno IN(SELECT sno FROM student WHERE sname='张海');
(3)删除“数据库基础”的全部记录(包括课程信息,成绩信息)
DELETE FROM sc WHERE cno=(
SELECT cno FROM course
WHERE cname='数据库基础');
DELETE FROM course WHERE cname='数据库基础';
4、创建索引
导入rental表数据,在customer_id上建立普通索引(通过语句或表设计器均可)查询customer_id=367的记录,记录查询时间:
有索引情况下的执行时间: 0.001s
CREATE INDEX customer_id_a ON rental(customer_id)
SELECT * FROM rental WHERE customer_id='367';
无索引情况下的执行时间: 0.001s
DROP INDEX customer_id_a ON rental
SELECT * FROM rental WHERE customer_id='367';
四、实验小结
解释说明“删除“数据库基础”的全部记录”的实现过程。
答:由于有外码约束,所以必须先删除成绩记录,再删除课程记录。
五、评阅成绩。