




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 管理表中的数据 Copyright2007-2009 创智新程1本课教学内容创建规则创建缺省管理表中的数据 插入数据 更新数据 删除数据 将表中的数据存储到新表清空表中数据2创建规则创建规则任务解题步骤课堂练习3任务一FOX公司需要对市场进行调查,要构造一个样本客户表,限定样本空间的大小不能超过10000。表SAMPLE_CUSTOMER已经建立了,要求不改变表结构的前提下,可以实现自动对样本空间的限制 。表的结构如下: 4任务CREATE TABLE Sample_Customer( CustomerID INT PRIMARY KEY, CustomerName CHAR(50), Cu
2、stomerAddress CHAR(50), CustomerCreditLimit MONEY) 5解题步骤步骤1:确定使用什么方法完成任务。步骤2:确定编写规则的语句。步骤3:创建规则。步骤4:将规则绑定到列。步骤5:验证规则是否生效。6步骤1 利用前述的CHECK约束可以轻松实现上述任务,但是,CHECK约束需要修改表的结构。而规则是一个向后兼容的功能,用于执行一些与 CHECK 约束相同的功能。CHECK 约束是用来限制列值的首选标准方法。CHECK 约束比规则简明,一个列只能应用一个规则,但是可以应用多个CHECK 约束。7步骤1所以,在不改变表结构的前提下,使用规则来实施上述任务
3、。8步骤2 创建称为规则的对象的语法如下: CREATE RULE ruleAS condition_expressionrule是新规则的名称。规则名称必须符合标识符规则。可以选择是否指定规则所有者的名称。 9步骤2condition_expression 是定义规则的条件。规则可以是 WHERE 子句中任何有效的表达式,并且可以包含诸如算术运算符、关系运算符和谓词(如 IN、LIKE、BETWEEN)之类的元素。规则不能引用列或其它数据库对象。可以包含不引用数据库对象的内置函数. 10步骤2定义规则的条件包含一个变量。每个局部变量的前面都有一个符号。表达式引用通过UPDATE或INSERT
4、 语句需要的值。在创建规则时,可以使用任何名称或符号表示值,但第一个字符必须是符号示例CREATE RULE rulZipCodeASZipCode LIKE (0-9 0-9 0-9)0-90-90-9-0-90-90-9 11步骤3 步骤3:创建规则 CREATE RULE CheckIDAS ID BETWEEN 0 and 1000012步骤4 在使用规则之前,需要将规则绑定到相应的列上。具体的语法如下 sp_bindrule rule_name, object_name, FUTUREONLY 参数 rule_name 由 CREATE RULE 语句创建的规则名称 Object_n
5、ame 绑定了规则的表和列或用户定义的数据类型。用户定义的数据类型由sp_addtype来定义的13步骤4FUTUREONLY 只对约束到用户自定义数据类型的规则才使用 将规则CheckID绑定到CustomerID列上的命令如下 sp_bindrule CheckID,Sample_Customer.CustomerID 14步骤5 步骤5:验证规则是否生效 通过系统存储过程sp_helptext,可以查询到对于规则的定义。 sp_helptext CheckID 15步骤5输出 Text - CREATE RULE CheckIDAS ID BETWEEN 0 and 10000 16步骤
6、5下面利用如下数值向Sample_Customer表插入数据 INSERT Sample_Customer (CustomerID) VALUES(0)INSERT Sample_Customer (CustomerID) VALUES(2345)INSERT Sample_Customer (CustomerID) VALUES(9999)INSERT Sample_Customer (CustomerID) VALUES(10001)17步骤5执行结果CustomerID的值 执行结果 0 执行成功 2345 执行成功 9999 执行成功 10001 列的插入或更新与先前的 CREATE
7、RULE 语句所强制的规则冲突。 18步骤5如何从数据库中删除一条规则 利用命令:DROP RULE rule_name 可以将规则从数据库中删除,其中rule_name是将要删除的规则名称。如何取消列上的规则绑定 利用命令:sp_unbindrule object_name , FUTUREONLY, 可以将列或用户定义数据类型上绑定的规则撤消掉。取消规则意味着规则不在用于列或者用户定义数据类型上。 19步骤5下面我们取消刚刚绑定在表Sample_Customer的CustomerID上的CheckID规则 执行: sp_unbindrule Sample_Customer.Customer
8、ID 然后: INSERT Sample_Customer (CustomerID) VALUES(10001) 查询分析器返回结果为成功 20课堂练习1.在Sample_Customer表中的CustomerCreditLimit不能超过$10000,请创建规则实现该之。21课堂练习2.如下的表中: CREATE TABLE Teacher ( TeacherID INT PRIMARY KEY, TeacherName CHAR(50), Address CHAR(50), PhoneNumber CHAR(12) ) Teacher表中的字段PhoneNumber的格式为“(4位十进制数
9、)-7位十进制数”组成的字符串。其中,7位十进制数中的首位不能为零。请创建规则实现该之。22使用缺省 使用缺省 任务解题步骤课堂联系23任务二FOX公司的数据录入人员对于Sample_Customer表的CustomerAddress总是要重复输入“Changsha”,由于表已经创造好了,现在需要在不改变表结构的前提下,可以实现自动将Sample_Customer表的CustomerAddress列输入“Changsha”。 24解题步骤步骤1:确定完成任务的方法。步骤2:确定编写缺省的语句。步骤3:创建缺省。步骤4:将缺省绑定到列。步骤5:验证缺省是否生效。25步骤1 步骤1:确定完成任务的
10、方法可以在创建表的时候将某列的值设置成为一个缺省值。在不修改表结构的前提下,我们可以通过创建缺省对象,然后将缺省对象绑定在列对象。所以,在不改变表结构的前提下,使用缺省来实施上述任务 26步骤1缺省对象是一个向后兼容的功能,它执行一些与使用 ALTER 或 CREATE TABLE 语句的 DEFAULT 关键字创建的缺省值定义相同的功能。缺省值定义是限制列数据的首选的,并且是标准的方法,因为定义和表存储在一起,当除去表时,将自动除去缺省值定义。DEFAULT 对象是为特定数据库定义的。通过将其绑定到缺省值要应用的每个列上,它可为不同表的列所共享。 27步骤2 步骤2:确定编写缺省对象的语句。
11、 语法: CREATE DEFAULT default AS condition_expression参数: default是缺省对象的名称。缺省对象名称必须符合标识符规则。可以选择是否指定缺省对象所有者的名称。28步骤2 condition_expression 是缺省对象的条件。缺省对象可以是 WHERE 子句中任何有效的表达式,并且可以包含诸如算术运算符、关系运算符和谓词(如 IN、LIKE、BETWEEN)之类的元素。缺省对象不能引用列或其它数据库对象。可以包含不引用数据库对象的内置函数。 示例: CREATE DEFAULT defCurrentDate AS GETDATE() 2
12、9步骤3 步骤3:创建缺省对象 CREATE DEFAULT defCity AS Changsha 30步骤4 步骤4:将缺省对象帮定到列在使用缺省对象之前,需要将缺省对象绑定到相应的列上.具体的语法如下: sp_binddefault default_name, object_name ,FUTUREONLY参数 defult_name 由 CREATE RULE 语句创建的使用缺省的名称 Object_name 绑定了使用缺省的表和列或用户定义的数据类型。用户定义的数据类型由sp_addtype来定义的。 31步骤4 FUTUREONLY 只将缺省对象绑定到用户自定义数据类型时使用。 命
13、令 将缺省对象defCity绑定到CustomerAddress上的命令如下 sp_bindefault defCity,Sample_Customer.CustomerAddress 32步骤5 步骤5:验证缺省对象是否生效 通过系统存储过程sp_helptext,可以查询到对于缺省对象的定义。 sp_helptext defCity下面利用如下数值向Sample_Customer表插入数据: INSERT Sample_Customer (CustomerID) VALUES(1) INSERT Sample_Customer (CustomerID) VALUES(2344) 33步骤5
14、如何从数据库中删除缺省对象 利用命令:DROP DEFAULT default_name 可以将缺省对象从数据库中删除,其中default_name是将要删除缺省对象的名称。 如何取消列上的缺省对象绑定利用命令:sp_unbindefault object_name ,FUTUREONLY, 可以将列或用户定义数据类型上绑定的缺省对象撤消掉。取消缺省对象意味着缺省对象不在用于列或者用户定义数据类型上。 34步骤5示例 下面取消刚刚绑定在表Sample_Customer的CustomerAddress上的defCity缺省对象。 执行: sp_unbindefault Sample_Custom
15、er.CustomerAddress 35课堂练习 Sample_Customer表中的CustomerCreditLimit缺省为$500,请创建缺省实现。 36管理表中的数据 管理表中的数据 插入数据 任务解题步骤课堂练习更新数据 任务解题步骤课堂练习删除数据 37管理表中的数据任务解题步骤课堂练习38管理表中的数据 不但可以利用SQL来查询数据,而且,可以利用SQL来对数据库中的表进行维护。数据库表数据的管理包括向表中插入、更新和删除数据。这些工作由T-SQL的数据操纵语言来完成。数据操纵语言 T-SQL的数据操纵语言(DML)可用于操纵数据,具体包括三个部分: 39管理表中的数据插入数
16、据更新数据删除数据40任务三FOX公司的人力资源部门在招聘会上录用了公司需要的一批人才。现在要将这些新员工的信息录入到公司的数据库中去统一管理。 41解题步骤步骤1:确定完成任务的SQL语句。步骤2:创建SQL语句。步骤3:执行SQL语句。步骤4:验证数据是否被插入。 42步骤1步骤1:确定完成任务的SQL语句要完成任务,需要使用INSERT语句对现有表进行数据的插入。INSERT 语句可给表添加一个或多个新行。 语法 INSERT INTO table_or_view (column_list) VALUES (column_value_list)原则 如果没有指定 column_list
17、,表或者视图中的所有列都会接收数据。43步骤1如果 column_list 没有为表或视图中的所有列命名,将在列表中没有命名的任何列中插入一个 NULL 值(或者是默认值)。在列的列表中没有指定的列都必须允许 NULL值或者默认值。具有 IDENTITY 属性的列,不要指定值。属于计算列的列,不要指定值。具有默认值的列,可以不指定数值。44步骤2 步骤2:创建SQL语句 创建 INSERT INTO 查询时必须要指定: 确定要添加行的数据库表。确定要添加内容的列。将要插入到单个列中的值或表达式。 使用 sp_help table_name, 可以获取表的结构。如:sp_help Employe
18、es 45步骤2确定要添加内容 INSERT INTO Employees(LastName, FirstName, Title, TitleOfCourtesy,BirthDate, HireDate, Address, City, Region, PostalCode,Country, HomePhone, Extension, Photo, Notes, ReportsTo, Photopath)VALUES(Liu, Wei, Sales Representative, Mr., 1960-05-29, 1994-11-02, 4727-11th Ave. N.E, Kirkland,
19、 WA, 98033, USA, (206) 555-3413, 3355, NULL, He holds a BA in English literature from Concordia College, 2,)46步骤3 步骤3:执行SQL语句 选择SQL语句,按F5执行。 47步骤4 步骤4:验证数据是否被插入 验证过程如下: SELECT * FROM Employees WHERE EmployeeID=1048课堂练习 对于包含有IDENTITY列的表,如何为这个表插入数据?49更新表 更新表 任务解题 步骤课堂练习50任务四FOX公司员工在向Employees表中录入数据的时候
20、,错误的将员工Liu Wai的名称,输入为Liu Wei,现在需要将名字更正过来。 51解题步骤步骤1:确定完成任务的SQL语句。步骤2:创建SQL语句。步骤3:执行SQL语句。步骤4:验证表中数据是否被更新。 52步骤1 步骤1:确定完成任务的SQL语句 现在需要更新Employees表,将Liu Wai改成Liu Wei。需要使用UPDATE语句。UPDATE 语句可以更改表或视图中单行、行组或所有行的数据值。 更新表的语法如下 UPDATE table_nameSET column_name = expression ,column_name = expressionWHERE clau
21、se 53步骤1示例 将Products表中的CategoryID 为 2的产品的单价提高10%。 UPDATE Products SET UnitPrice = UnitPrice * 1.1 WHERE CategoryID = 254步骤2 步骤2:创建SQL语句 UPDATE Employees SET FirstName = Wai WHERE EmployeeID = 10 55步骤3 步骤3:执行SQL语句 在查询分析器中输入SQL语句,选定后,按F5执行。 56步骤4 步骤4:验证表中数据是否被更新 执行: SELECT FirstName FROM Employees WHE
22、RE EmployeeID = 10 57课堂练习 请将Employees表中EmployeeID为1的记录中字段为Title的值改为:Vice President, Sales。 58删除数据 删除数据 任务解题步骤课堂练习59任务五FOX公司员工Liu Wai 向公司提出离职申请,公司需要将Liu Wai的记录从表中删除。 60解题步骤步骤1:确定完成任务的SQL语句。步骤2:创建SQL语句。步骤3:执行SQL语句。步骤4:验证表中数据是否被删除。 61步骤1 步骤1:确定完成任务的SQL语句 利用DELETE语句可以完成上述任务。DELETE 语句可删除表或视图中的一行或多行。DELET
23、E的语法 DELETE tablename_or_viewname FROM table_name WHERE caluse 62步骤2 步骤2:创建SQL语句 DELETE Employees WHERE EmployeeID = 1063步骤3 在查询分析器中输入SQL语句,选定后,按F5执行。 64步骤4 步骤4:验证表中数据是否被删除 执行: SELECT * FROM Employees WHERE EmployeeID = 10 65课堂练习对于表中没有指定缺省值的可为空的字段,如果在插入数据的时候,没有为该列指定数值,请问SQL Server将会插入什么值?对于包含缺省值字段的表
24、,在表中插入数据的时候,如何为这个字段插入缺省数值。66将现有表的数据存储到新表 将现有表的数据存储到新表 任务解题步骤课堂练习67任务六FOX公司的人力资源部门要对自己的管理信息系统进行维护,需要将Employees表做个备份。希望将Employees中的数据及表结构导入到名称为Employees_temp的表中。但是,Employees_temp表并不存在。 68解题步骤步骤1:确定完成任务的SQL语句。步骤2:创建SQL语句。步骤3:执行SQL语句。步骤4:验证表是否被成功创建。 69步骤1 步骤1:确定完成任务的SQL语句 由于Employees_temp表并不存在,要求使用的SQL语
25、句能够根据要导出数据的表结构生成一个新的表结构,然后将要导出的数据,插入到这个新的表中去。 语法 SELECT table_name.column_name_lists,table_name.column_name_lists INTO new_table_name FROM table_name70步骤2 步骤2:创建SQL语句 确定SQL 语句如下: SELECT Employees.* INTO Employees_temp FROM Employees71步骤2或者: SELECT EmployeeID,LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address,City,Region, PostalCode, Country, HomePhone, Extension,Photo, Notes, ReportsTo,Photopath INTO Employees_temp FROM Employees 72步骤3 步骤3:执行SQL语句 将上述SQL语句选中后,按F5执行。 73步骤4 步骤4:验证表是否被成功创建 利用SELECT * FROM Employees_temp进行查询。或者
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商铺租赁装修合同条款
- 塑钢门窗工程安装合同协议书
- 营销现场作业安全管理和反窃电技能竞赛参考复习测试卷
- 2025年劳务聘用合同
- 委托人力资源合同协议书
- 消防工程承揽合同.2
- 设备出兑合同范本
- 广东电梯保养合同范本
- 贵州装修合同范本
- 场馆售卖饮品合同范本
- 老年人的口腔知识讲座
- 5G智能工厂建设规划
- 电缆隐蔽验收记录文本20种
- 一例化脓性链球菌感染的下肢静脉溃疡伤口循证护理
- Unit1+Art+Ancient+Reading+and+Thinking+Chinese+Art+on+show教学设计 高中英语人教选择性必修第三册
- 储能系统介绍-电化学能-储能电站
- 《PCB设计与制作(基于Altium-Designer)》教材配套电子课件电子教案(全)完整版课件
- 建筑装饰工程施工总平面布置图
- 外科护理系统考试题库汇总含答案(多选题10)
- 竖井工程地质勘察报告
- 职业道德与法律中职PPT完整全套教学课件
评论
0/150
提交评论