第十课--管理表中的数据.ppt_第1页
第十课--管理表中的数据.ppt_第2页
第十课--管理表中的数据.ppt_第3页
第十课--管理表中的数据.ppt_第4页
第十课--管理表中的数据.ppt_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Copyright 2007创智新程 管理表中的数据 Copyright 2007 2009创智新程 Copyright 2007创智新程 本课教学内容 创建规则创建缺省管理表中的数据插入数据更新数据删除数据将表中的数据存储到新表清空表中数据 Copyright 2007创智新程 创建规则 创建规则任务解题步骤课堂练习 Copyright 2007创智新程 任务一 FOX公司需要对市场进行调查 要构造一个样本客户表 限定样本空间的大小不能超过10000 表SAMPLE CUSTOMER已经建立了 要求不改变表结构的前提下 可以实现自动对样本空间的限制 表的结构如下 Copyright 2007创智新程 任务 CREATETABLESample Customer CustomerIDINTPRIMARYKEY CustomerNameCHAR 50 CustomerAddressCHAR 50 CustomerCreditLimitMONEY Copyright 2007创智新程 解题步骤 步骤1 确定使用什么方法完成任务 步骤2 确定编写规则的语句 步骤3 创建规则 步骤4 将规则绑定到列 步骤5 验证规则是否生效 Copyright 2007创智新程 步骤1 利用前述的CHECK约束可以轻松实现上述任务 但是 CHECK约束需要修改表的结构 而规则是一个向后兼容的功能 用于执行一些与CHECK约束相同的功能 CHECK约束是用来限制列值的首选标准方法 CHECK约束比规则简明 一个列只能应用一个规则 但是可以应用多个CHECK约束 Copyright 2007创智新程 步骤1 所以 在不改变表结构的前提下 使用规则来实施上述任务 Copyright 2007创智新程 步骤2 创建称为规则的对象的语法如下 CREATERULEruleAScondition expressionrule是新规则的名称 规则名称必须符合标识符规则 可以选择是否指定规则所有者的名称 Copyright 2007创智新程 步骤2 condition expression是定义规则的条件 规则可以是WHERE子句中任何有效的表达式 并且可以包含诸如算术运算符 关系运算符和谓词 如IN LIKE BETWEEN 之类的元素 规则不能引用列或其它数据库对象 可以包含不引用数据库对象的内置函数 Copyright 2007创智新程 步骤2 定义规则的条件包含一个变量 每个局部变量的前面都有一个 符号 表达式引用通过UPDATE或INSERT语句需要的值 在创建规则时 可以使用任何名称或符号表示值 但第一个字符必须是 符号示例CREATERULErulZipCodeAS ZipCodeLIKE 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 Copyright 2007创智新程 步骤3 步骤3 创建规则CREATERULECheckIDAS IDBETWEEN0and10000 Copyright 2007创智新程 步骤4 在使用规则之前 需要将规则绑定到相应的列上 具体的语法如下sp bindrulerule name object name FUTUREONLY 参数rule name由CREATERULE语句创建的规则名称Object name绑定了规则的表和列或用户定义的数据类型 用户定义的数据类型由sp addtype来定义的 Copyright 2007创智新程 步骤4 FUTUREONLY只对约束到用户自定义数据类型的规则才使用将规则CheckID绑定到CustomerID列上的命令如下sp bindruleCheckID Sample Customer CustomerID Copyright 2007创智新程 步骤5 步骤5 验证规则是否生效通过系统存储过程sp helptext 可以查询到对于规则的定义 sp helptextCheckID Copyright 2007创智新程 步骤5 输出Text CREATERULECheckIDAS IDBETWEEN0and10000 Copyright 2007创智新程 步骤5 下面利用如下数值向Sample Customer表插入数据INSERTSample Customer CustomerID VALUES 0 INSERTSample Customer CustomerID VALUES 2345 INSERTSample Customer CustomerID VALUES 9999 INSERTSample Customer CustomerID VALUES 10001 Copyright 2007创智新程 步骤5 执行结果 Copyright 2007创智新程 步骤5 如何从数据库中删除一条规则利用命令 DROPRULErule name可以将规则从数据库中删除 其中rule name是将要删除的规则名称 如何取消列上的规则绑定利用命令 sp unbindruleobject name FUTUREONLY 可以将列或用户定义数据类型上绑定的规则撤消掉 取消规则意味着规则不在用于列或者用户定义数据类型上 Copyright 2007创智新程 步骤5 下面我们取消刚刚绑定在表Sample Customer的CustomerID上的CheckID规则执行 sp unbindrule Sample Customer CustomerID 然后 INSERTSample Customer CustomerID VALUES 10001 查询分析器返回结果为成功 Copyright 2007创智新程 课堂练习 1 在Sample Customer表中的CustomerCreditLimit不能超过 10000 请创建规则实现该之 Copyright 2007创智新程 课堂练习 2 如下的表中 CREATETABLETeacher TeacherIDINTPRIMARYKEY TeacherNameCHAR 50 AddressCHAR 50 PhoneNumberCHAR 12 Teacher表中的字段PhoneNumber的格式为 4位十进制数 7位十进制数 组成的字符串 其中 7位十进制数中的首位不能为零 请创建规则实现该之 Copyright 2007创智新程 使用缺省 使用缺省任务解题步骤课堂联系 Copyright 2007创智新程 任务二 FOX公司的数据录入人员对于Sample Customer表的CustomerAddress总是要重复输入 Changsha 由于表已经创造好了 现在需要在不改变表结构的前提下 可以实现自动将Sample Customer表的CustomerAddress列输入 Changsha Copyright 2007创智新程 解题步骤 步骤1 确定完成任务的方法 步骤2 确定编写缺省的语句 步骤3 创建缺省 步骤4 将缺省绑定到列 步骤5 验证缺省是否生效 Copyright 2007创智新程 步骤1 步骤1 确定完成任务的方法可以在创建表的时候将某列的值设置成为一个缺省值 在不修改表结构的前提下 我们可以通过创建缺省对象 然后将缺省对象绑定在列对象 所以 在不改变表结构的前提下 使用缺省来实施上述任务 Copyright 2007创智新程 步骤1 缺省对象是一个向后兼容的功能 它执行一些与使用ALTER或CREATETABLE语句的DEFAULT关键字创建的缺省值定义相同的功能 缺省值定义是限制列数据的首选的 并且是标准的方法 因为定义和表存储在一起 当除去表时 将自动除去缺省值定义 DEFAULT对象是为特定数据库定义的 通过将其绑定到缺省值要应用的每个列上 它可为不同表的列所共享 Copyright 2007创智新程 步骤2 步骤2 确定编写缺省对象的语句 语法 CREATEDEFAULTdefaultAScondition expression参数 default是缺省对象的名称 缺省对象名称必须符合标识符规则 可以选择是否指定缺省对象所有者的名称 Copyright 2007创智新程 步骤2 condition expression是缺省对象的条件 缺省对象可以是WHERE子句中任何有效的表达式 并且可以包含诸如算术运算符 关系运算符和谓词 如IN LIKE BETWEEN 之类的元素 缺省对象不能引用列或其它数据库对象 可以包含不引用数据库对象的内置函数 示例 CREATEDEFAULTdefCurrentDateASGETDATE Copyright 2007创智新程 步骤3 步骤3 创建缺省对象CREATEDEFAULTdefCityAS Changsha Copyright 2007创智新程 步骤4 步骤4 将缺省对象帮定到列在使用缺省对象之前 需要将缺省对象绑定到相应的列上 具体的语法如下 sp binddefaultdefault name object name FUTUREONLY 参数defult name由CREATERULE语句创建的使用缺省的名称Object name绑定了使用缺省的表和列或用户定义的数据类型 用户定义的数据类型由sp addtype来定义的 Copyright 2007创智新程 步骤4 FUTUREONLY只将缺省对象绑定到用户自定义数据类型时使用 命令将缺省对象defCity绑定到CustomerAddress上的命令如下sp bindefaultdefCity Sample Customer CustomerAddress Copyright 2007创智新程 步骤5 步骤5 验证缺省对象是否生效通过系统存储过程sp helptext 可以查询到对于缺省对象的定义 sp helptextdefCity下面利用如下数值向Sample Customer表插入数据 INSERTSample Customer CustomerID VALUES 1 INSERTSample Customer CustomerID VALUES 2344 Copyright 2007创智新程 步骤5 如何从数据库中删除缺省对象利用命令 DROPDEFAULTdefault name可以将缺省对象从数据库中删除 其中default name是将要删除缺省对象的名称 如何取消列上的缺省对象绑定利用命令 sp unbindefaultobject name FUTUREONLY 可以将列或用户定义数据类型上绑定的缺省对象撤消掉 取消缺省对象意味着缺省对象不在用于列或者用户定义数据类型上 Copyright 2007创智新程 步骤5 示例下面取消刚刚绑定在表Sample Customer的CustomerAddress上的defCity缺省对象 执行 sp unbindefault Sample Customer CustomerAddress Copyright 2007创智新程 课堂练习 Sample Customer表中的CustomerCreditLimit缺省为 500 请创建缺省实现 Copyright 2007创智新程 管理表中的数据 管理表中的数据插入数据任务解题步骤课堂练习更新数据任务解题步骤课堂练习删除数据 Copyright 2007创智新程 管理表中的数据 任务解题步骤课堂练习 Copyright 2007创智新程 管理表中的数据 不但可以利用SQL来查询数据 而且 可以利用SQL来对数据库中的表进行维护 数据库表数据的管理包括向表中插入 更新和删除数据 这些工作由T SQL的数据操纵语言来完成 数据操纵语言T SQL的数据操纵语言 DML 可用于操纵数据 具体包括三个部分 Copyright 2007创智新程 管理表中的数据 插入数据更新数据删除数据 Copyright 2007创智新程 任务三 FOX公司的人力资源部门在招聘会上录用了公司需要的一批人才 现在要将这些新员工的信息录入到公司的数据库中去统一管理 Copyright 2007创智新程 解题步骤 步骤1 确定完成任务的SQL语句 步骤2 创建SQL语句 步骤3 执行SQL语句 步骤4 验证数据是否被插入 Copyright 2007创智新程 步骤1 步骤1 确定完成任务的SQL语句要完成任务 需要使用INSERT语句对现有表进行数据的插入 INSERT语句可给表添加一个或多个新行 语法INSERT INTO table or view column list VALUES column value list 原则如果没有指定column list 表或者视图中的所有列都会接收数据 Copyright 2007创智新程 步骤1 如果column list没有为表或视图中的所有列命名 将在列表中没有命名的任何列中插入一个NULL值 或者是默认值 在列的列表中没有指定的列都必须允许NULL值或者默认值 具有IDENTITY属性的列 不要指定值 属于计算列的列 不要指定值 具有默认值的列 可以不指定数值 Copyright 2007创智新程 步骤2 步骤2 创建SQL语句创建INSERTINTO查询时必须要指定 确定要添加行的数据库表 确定要添加内容的列 将要插入到单个列中的值或表达式 使用sp helptable name 可以获取表的结构 如 sp helpEmployees Copyright 2007创智新程 步骤2 确定要添加内容 INSERTINTOEmployees LastName FirstName Title TitleOfCourtesy BirthDate HireDate Address City Region PostalCode Country HomePhone Extension Photo Notes ReportsTo Photopath VALUES Liu Wei SalesRepresentative Mr 1960 05 29 1994 11 02 4727 11thAve N E Kirkland WA 98033 USA 206 555 3413 3355 NULL HeholdsaBAinEnglishliteraturefromConcordiaCollege 2 http accweb emmployees liuwei bmp Copyright 2007创智新程 步骤3 步骤3 执行SQL语句选择SQL语句 按F5执行 Copyright 2007创智新程 步骤4 步骤4 验证数据是否被插入验证过程如下 SELECT FROMEmployeesWHEREEmployeeID 10 Copyright 2007创智新程 课堂练习 对于包含有IDENTITY列的表 如何为这个表插入数据 Copyright 2007创智新程 更新表 更新表任务解题步骤课堂练习 Copyright 2007创智新程 任务四 FOX公司员工在向Employees表中录入数据的时候 错误的将员工LiuWai的名称 输入为LiuWei 现在需要将名字更正过来 Copyright 2007创智新程 解题步骤 步骤1 确定完成任务的SQL语句 步骤2 创建SQL语句 步骤3 执行SQL语句 步骤4 验证表中数据是否被更新 Copyright 2007创智新程 步骤1 步骤1 确定完成任务的SQL语句现在需要更新Employees表 将LiuWai改成LiuWei 需要使用UPDATE语句 UPDATE语句可以更改表或视图中单行 行组或所有行的数据值 更新表的语法如下UPDATEtable nameSETcolumn name expression column name expression WHEREclause Copyright 2007创智新程 步骤1 示例将Products表中的CategoryID为2的产品的单价提高10 UPDATEProductsSETUnitPrice UnitPrice 1 1WHERECategoryID 2 Copyright 2007创智新程 步骤2 步骤2 创建SQL语句UPDATEEmployeesSETFirstName Wai WHEREEmployeeID 10 Copyright 2007创智新程 步骤3 步骤3 执行SQL语句在查询分析器中输入SQL语句 选定后 按F5执行 Copyright 2007创智新程 步骤4 步骤4 验证表中数据是否被更新执行 SELECTFirstNameFROMEmployeesWHEREEmployeeID 10 Copyright 2007创智新程 课堂练习 请将Employees表中EmployeeID为1的记录中字段为Title的值改为 VicePresident Sales Copyright 2007创智新程 删除数据 删除数据任务解题步骤课堂练习 Copyright 2007创智新程 任务五 FOX公司员工LiuWai向公司提出离职申请 公司需要将LiuWai的记录从表中删除 Copyright 2007创智新程 解题步骤 步骤1 确定完成任务的SQL语句 步骤2 创建SQL语句 步骤3 执行SQL语句 步骤4 验证表中数据是否被删除 Copyright 2007创智新程 步骤1 步骤1 确定完成任务的SQL语句利用DELETE语句可以完成上述任务 DELETE语句可删除表或视图中的一行或多行 DELETE的语法DELETEtablename or viewnameFROMtable nameWHEREcaluse Copyright 2007创智新程 步骤2 步骤2 创建SQL语句DELETEEmployeesWHEREEmployeeID 10 Copyright 2007创智新程 步骤3 在查询分析器中输入SQL语句 选定后 按F5执行 Copyright 2007创智新程 步骤4 步骤4 验证表中数据是否被删除执行 SELECT FROMEmployeesWHEREEmployeeID 10 Copyright 2007创智新程 课堂练习 对于表中没有指定缺省值的可为空的字段 如果在插入数据的时候 没有为该列指定数值 请问SQLServer将会插入什么值 对于包含缺省值字段的表 在表中插入数据的时候 如何为这个字段插入缺省数值 Copyright 2007创智新程 将现有表的数据存储到新表 将现有表的数据存储到新表任务解题步骤课堂练习 Copyright 2007创智新程 任务六 FOX公司的人力资源部门要对自己的管理信息系统进行维护 需要将Employees表做个备份 希望将Employees中的数据及表结构导入到名称为Employees temp的表中 但是 Employees temp表并不存在 Copyright 2007创智新程 解题步骤 步骤1 确定完成任务的SQL语句 步骤2 创建SQL语句 步骤3 执行SQL语句 步骤4 验证表是否被成功创建 Copyright 2007创智新程 步骤1 步骤1 确定完成任务的SQL语句由于Employees temp表并不存在 要求使用的SQL语句能够根据要导出数据的表结构生成一个新的表结构 然后将要导出的数据 插入到这个新的表中去 语法SELECT table name column name lists table name column name lists INTOnew table nameFROMtable name Copyright 2007创智新程 步骤2 步骤2 创建SQL语句确定SQL语句如下 SELECTEmployees INTOEmployees tempFROMEmployees Copyright 2007创智新程 步骤2 或者 SELECTEmployeeID LastName FirstName Title TitleOfCourtesy BirthDate HireDate Address City Region PostalCode Country HomePhone Extension Photo Notes ReportsTo PhotopathINTOEmployees tempFROMEmployees Copyright 2007创智新程 步骤3 步骤3 执行SQL语句将上述SQL语句选中后 按F5执行 Copyright 2007创智新程 步骤4 步骤4 验证表是否被成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论