- 1、本文档共122页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章关系数据库标准语言SQL第4章关系数据库标准语言SQL
1. 插入单个元组 向表中插入一个元组的语句格式为: INSERT INTO 表名 [(属性列表)] VALUES (常量列表); 【例4-66】向Patron表中插入一个新的读者元组(读者证号:S0120080201,姓名:王东,性别:男,部门:电信学院,出生日期:1990-9-5,读者类别:学生)。 INSERT INTO Patron (PatronID,Name,Gender, Department,BirthDate,Type) VALUES(S0120080201,王东,男,电信学院, 1990-9-5,学生); INTO子句中的属性列表的顺序可以与表定义中的列的顺序不同,只要确保VALUES子句中给出的值的顺序与属性列表一致即可。 对于上述语句也可以省略属性列表,此时VALUES子句中值的顺序(可以有NULL)必须与表定义中的列的顺序一致,而且必须每一列都要有值与之对应。 1. 插入单个元组 下面的语句同样可以完成例4-66的数据插入功能。 INSERT INTO Patron VALUES(S0120080201,王东,男, 1990-9-5,学生,电信学院); 在进行元组插入时,还可以指定表中的部分属性列进行赋值。此时,INTO子句中必须给出要赋值的列名,而且VALUES中的常量列表要与之一一对应。 对于INTO子句中没有指定的列,将以NULL填入;不过,如果在该列上不允许空值(即定义表时使用了NOT NULL约束),将会出错。 1. 插入单个元组 【例4-67】向Lend表中插入一个新的借阅元组(索书号:F113.4/X291,读者证号:S0120090201,借阅时间:当前时间)。 INSERT INTO Lend (CallNo,PatronID,LendTime) VALUES(F113.4/X291,S0120090201,GETDATE()); 该语句相当于: INSERT INTO Lend VALUES(F113.4/X291,S0120090201,GETDATE(),NULL); 注意,由于在INTO子句中没有指定Lend表的列名,在ReturnTime列上要明确给出空值(NULL)。 2. 插入子查询的结果 可以通过把子查询嵌入到INSERT语句实现批量元组的插入。此时,INSERT语句将子查询的结果插入到表中。其语句格式为: INSERT INTO 表名 [(属性列表)] 子查询; 【例4-68】查询每个读者的读者证号及其未还图书的数量,并将其存储于建立的表NR_Num中。 首先创建表NR_Num: CREATE TABLE NR_Num ( PatronID CHAR(20) PRIMARY KEY, NReturnNum SMALLINT); 执行如下插入语句: INSERT INTO NR_Num (PatronID,NReturnNum) SELECT PatronID,COUNT(*) FROM Lend WHERE ReturnTime IS NULL GROUP BY PatronID; 4.4.2 修改数据 修改操作又称为更新操作,用以对数据库中已存在的数据进行更改。其语句一般格式为: UPDATE 表名 SET 列名=表达式[, 列名=表达式]… [WHERE 条件]; UPDATE语句的功能是修改指定表中满足WHERE子句指定条件的元组。 这里,SET子句指出了要修改的列和取代原列值的表达式。 如果省略了WHERE子句,将修改表中的所有元组。注意,UPDATE语句只修改表中数据,并不修改表的结构。 1. 无条件修改 所谓无条件修改是指省略WHERE子句,对表中的所有元组进行修改。 【例4-69】将所有图书的单价下调5%。 UPDATE Book SET Price=Price*0.95; 上述语句对Book表中的每一个元组,用该元组对应的单价(Price)乘以0.95后重新赋值给Price列。 2. 有条件修改 可以通过在WHERE子句中指定需要满足的条件,对表中的元组进行有选择地修改。 修改过程可以大致这样描述:取出表中的第一个元组,判断其是否满足WHERE子句指定的条件,如果满足则对该元组进行修改,否则跳过,继续提取下一个元组;重复上述过程直到扫描整个表一遍。 【例4-70】将所有工商学院读者的部门改为管理学院。 UPDATE Patron SET Department=管理学院 WHERE Depa
您可能关注的文档
- 第2轮第一讲集合与简易逻辑.ppt
- 第2部分 复习课(二) 解析几何初步.ppt
- 第2课时25.1.2概率.ppt
- 第3--18讲 新闻采访的特点和方法.ppt
- 第2课第二次鸦片战争@.ppt
- 第38课时 二倍角公式.ppt
- 第32课时 水和溶液.ppt
- 第39课 物质间的循环与转化.ppt
- 第2课 学习鉴赏美术作品.ppt
- 第33讲《综合实验与探究》.ppt
- 场地脚手架工程施工方案(3篇).docx
- 2024年浙江省丽水市松阳县玉岩镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年河南省郑州市惠济区古荥镇招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市淳安县文昌镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省台州市三门县小雄镇招聘社区工作者真题带答案详解.docx
- 2024年浙江省宁波市余姚市河姆渡镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省丽水市景宁畲族自治县雁溪乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市临安市板桥乡招聘社区工作者真题及答案详解一套.docx
- 2024年湖北省宜昌市点军区土城乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省台州市路桥区桐屿街道招聘社区工作者真题附答案详解.docx
文档评论(0)