第6讲 辑维护表格数据.ppt

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

前面所讲的 update 命令可以使用 from子句将 要更新的表和其它的表连接起来, 从而在选择行的 时候具有更大的灵活性. delete 命令也使用了完全 相同的技术. 使用这项技术需要第二个 from 关键 字. 但要注意,与使用 update 命令的 from 子句 一样, delete 命令的第二个 from 子句也不是 ANSI 的标准语法. 如果可移植性对于你的项目非常重要 的话,应该使用子查询来引用其它的表. 关联多表删除 DELETE Product FROM dbo.Product JOIN ProductCategory ON Product.ProductCategoryID =ProductCategory.ProductCategoryID WHERE ProductCategoryName=‘Video’ 例题 category [k?tig?ri] n. [C] 1.种类;部属;类目 2.【数】范畴,类型 参照完整性要求, 从表中的行不能引用主表 中不存在的行. 这意味着如果在某个从表中有记录 行引用了主表中要删除的行, 那么删除主表中行的 操作就会失败. 任何违背参照完整性的删除操作都会被禁止. 要解决这个问题, 首先必须删除从表中那些引用了 要删除的主表记录的行,然后再删除主表中的行. 这称为级联删除. 级联删除 用 truncate 语句清除表 在 SQL Server 中提供了一种快速删除表中所 有行的非记录方法. 它比不用 where 子句的 delete 语句要快. 该语句语法如下: TRUNCATE TABLE table_name 例题可参见教科书. --- 一个带有WHERE条件的修改语句. UPDATE authors SET state = PC, city = Bay City WHERE state = CA AND city = Oakland 例题1 --- 通过 UPDATE 语句使用来自另一个表的信息,其修改表 titles --- 中的 ytd_sales 列,以反映表 sales 中的最新销售记录. UPDATE titles SET ytd_sales = titles.ytd_sales + sales.qty FROM titles, sales WHERE titles.title_id = sales.title_id AND sales.ord_date = ( SELECT MAX (sales.ord_date) FROM sales ) 例题2 写出 SELECT 语句 1 从 titles 表的 title_id, type, advance 列中查询所有的 advance 不大于 ¥5500 的 business 类型的书. 2 从 titles 表查询出版日期(pubdate)在 1/1/1991 ~ 12/31/1991 之间的书号( title_id ) 和出版日期(pubdate). 练习 【例2.54】新建一张学生表stu3,表结构与学生表stu相同,并将表stu中成绩在80到90之间的学生信息写入表stu3中。 INSERT INTO stu3 SELECT stu.* FROM score ,stu WHERE score.id =stu.id AND score between 80 AND 90 ORDER BY birthday 附录 数据管理 更新SQL数据,使用UPDATE语句,如果不加WHERE子句代表修改该表中的所有记录。如果修改表中部分记录,需要使用WHERE子句来限定修改条件。 【例2.55】将表stu中学号为“20040101024”的学生姓名改为“冯伟华”。 UPDATE score SET name =冯伟华 WHERE id=20040101024 GO UPDATE stu SET name =冯伟华 WHERE id=20040101024 GO 【例2.57】修改表stu中学号为“20040102007”的学生的学号为“20040102006”,姓名为“范嘉琦”。 UPDATE stu SET id=20040102006,name =范嘉琦 WHERE id=20040102007 GO UPDATE score SET id=2004010

文档评论(0)

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

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

1亿VIP精品文档

相关文档