实验5SQL语言更新操作命令.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验5SQL语言更新操作命令

实验5 SQL语言——更新操作命令 实验示例 1、INSERT命令 1.插入单个元组的INSERT语句的格式为: INSERT INTO] 表名 [(属性列1[,属性列2...]) VALUES (常量1 [,常量2]...) 98011、张静、27、女、CS的新学生。 USE JXGL GO Insert Into Student Values(98011,张静,27,女,CS); GO 执行结果如图5-1所示。 图5-1 在查询分析器中通过INSERT命令插入一记录 (2)按指定的属性顺序,也可以只添加部分属性(非Null属性为必须明确指定值)。 [例2] 插入学号为98012、姓名为李四、年龄为16的学生信息。 Insert Into Student(Sno,Sname, Sage) Values(98012, 李四,16); --新插入的记录在Ssex,Sdept列上取空值。执行结果如图5-2所示。 图5-2 在企业管理器中通过INSERT命令插入一记录 [注意] (1)从篇幅考虑,其余更新命令的执行窗口与运行状况类似于上两图,将不再列出。 (2)在INSERT语句中,VALUES列表中的表达式的数量,必须与表中的列数匹配,表达式的数据类型必须可以和表格中的对应各列的数据类型兼容。如果表格中存在定义为NOT NULL的数据列,那么该列的值必须出现在VALUES的列表中。否则,服务器会给出错误提示,操作失败。在INSERT语句中,INTO是一个可选关键字,使用这个关键字可以使语句的定义更加清楚。使用该方法一次只能插入一行数据,而且,每次插入数据时都必须输入表格名字以及要插入的数据列的数值。 (3)如果没有按正确顺序提供插入的数据,那么服务器有可能给出一个语法错误,插入操作失败:也有可能服务器没有任何反应,数据插入成功,但数据是有错的。 2、插入子查询结果的INSERT语句的格式为:INSERT [INTO] 表名 [(属性列1 [,属性列2...]) 子查询;其功能一次将子查询子查询的结果全部插入指定表中。 CS系的学生开设5号课程,建立选课信息(成绩暂空)。 Insert Into SC Select sno,cno,null From Student,Course Where Sdept=CS and cno=5; [例4] 设班里来了位与“赵三”同名同姓同性别同年龄的学生,希望通过使用带子查询块的INSERT命令来添加该新生记录,学号设定成“赵三”的学号加1,姓名为“赵三2”,其它相同。 图5-3 带子查询的INSERT命令添加新记录 Insert Into Student Select cast(cast(sno as integer)+1 as char(5)),sname+2,sage,ssex,sdept From Student Where Sname=赵三; GO SELECT * FROM Student; GO 执行结果如图5-3所示。 [注意] INSERT表和SELECT表结果集的列数、列序和数据类型必须一致。数据类型一致是指两个表对应的列的数据类型要么相同,要么可以由SQL Server 2000服务器自动转换。 2、UPDATE命令 当需要修改表中的一列或多列的值时,可以使用UPDATE语句。使用UPDATE语句可以指定要修改的列和想赋予的新值,通过给出检索匹配数据行的WHERE子句,还可以指定要更新的列所必须符合的条件。UPDATE语句语法如下: UPDATE 表名 SET 列名=表达式[,列名=表达式]...[FROM { table_source } [ ,...n ] ] [WHERE 条件]; UPDATE Student SET Sage=23 WHERE Sno=98003; [例6] 将Student表的前3位学生的年龄均增加1岁。 USE JXGL GO UPDATE Student SET Student.Sage= Student.Sage+1 FROM (SELECT TOP 3 * FROM Student ORDER BY SNO) AS STU3 WHERE STU3.SNO=Student.SNO [例7] 将98001学生选修3号课程的成绩改为该课的平均成绩。 Update SC Set Grade=(Select AVG(Grade) From SC Where Cno=3) Where Sno =98001 AND Cno=3; [例8] 学生王林在2号课程考试中作弊,该课成绩应作零分计。 UPDATE SC SET GRADE=0 WHERE CNO=2 AND 王林=(SELECT SNAME FROM STUDENT WHERE STUD

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档