第4章 关系数据库标准语言SQL.ppt

  1. 1、本文档共122页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第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

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档