深入掌握SQL章节三

上传人:san****glu 文档编号:54824311 上传时间:2018-09-20 格式:PPT 页数:94 大小:1.22MB
返回 下载 相关 举报
深入掌握SQL章节三_第1页
第1页 / 共94页
深入掌握SQL章节三_第2页
第2页 / 共94页
深入掌握SQL章节三_第3页
第3页 / 共94页
深入掌握SQL章节三_第4页
第4页 / 共94页
深入掌握SQL章节三_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《深入掌握SQL章节三》由会员分享,可在线阅读,更多相关《深入掌握SQL章节三(94页珍藏版)》请在金锄头文库上搜索。

1、2018年9月20日,第1页,第3章 Transact-SQL语言,学习目标 本章重点 本章内容,2018年9月20日,第2页,学习目标,Transact-SQL语言是微软公司在关系型数据库管理系统Microsoft SQL Server中的ISO SQL的实现。 SQL(structure query language,结构化查询语言)语言是国际标准化组织(international standardize organization,ISO)采纳的标准数据库语言。 通过使用Transact-SQL语言,用户几乎可以完成Microsoft SQL Server数据库中的所有操作。 本章将全面来

2、研究Transact-SQL语言的特点和使用方式。,2018年9月20日,第3页,本章重点,特点和类型 执行方式 数据定义语言 数据操纵语言 数据控制语言 事务管理语言 附加语言元素,2018年9月20日,第4页,本章内容,3.1 Transact-SQL语言的特点 3.2 Transact-SQL语言的执行方式 3.3 数据定义语言 3.4 数据操纵语言 3.5 数据控制语言 3.6 事务管理语言 3.7 附加的语言元素 3.8 数据类型 3.9 内置函数 3.10 上机练习 3.11 习题,2018年9月20日,第5页,本章内容,3.1 Transact-SQL语言的特点 3.2 Tran

3、sact-SQL语言的执行方式 3.3 数据定义语言 3.4 数据操纵语言 3.5 数据控制语言 3.6 事务管理语言 3.7 附加的语言元素 3.8 数据类型 3.9 内置函数 3.10 上机练习 3.11 习题,2018年9月20日,第6页,3.1 Transact-SQL语言的特点,1970年6月,埃德加考特(Edgar Frank Codd)在Communications of ACM 上发表了大型共享数据库数据的关系模型一文。首次明确而清晰地为数据库系统提出了一种崭新的模型, 即关系模型。 1970 年以后,考特继续致力于完善与发展关系理论。 1972 年,他提出了关系代数和关系演算

4、的概念, 定义了关系的并、交、投影、选择、连接等各种基本运算,为SQL语言的形成和发展奠定了理论基础。 1979年,SQL在商业数据库中成功得到了应用。,2018年9月20日,第7页,SQL标准,1986年,美国国家标准化组织正式发表了编号为X3.135-1986的SQL标准,并且在1987年获得了ISO组织的认可,被命名为ISO9075-1987。后来这个标准在1992、1999、2001、2003年等不断地得到了扩充和完善。 从SQL语言的历史来看,Transact-SQL语言与SQL语言并不完全等同。不同的数据库供应商一方面采纳了SQL语言作为自己数据库的操作语言,另一方面又对SQL语言

5、进行了不同程度的扩展。这种扩展的主要原因是不同的数据库供应商为了达到特殊目的和实现新的功能,不得不对标准的SQL语言进行扩展,而这些扩展往往又是SQL标准的下一个版本的主要实践来源。,2018年9月20日,第8页,特点,Transact-SQL语言有4个特点: 一是一体化的特点,集数据定义语言、数据操纵语言、数据控制语言、事务管理语言和附加语言元素为一体。 二是有两种使用方式,即交互使用方式和嵌入到高级语言中的使用方式。 三是非过程化语言,只需要提出“干什么”,不需要指出“如何干”,语句的操作过程由系统自动完成。 四是,类似于人的思维习惯,容易理解和掌握。,2018年9月20日,第9页,类型,

6、在Microsoft SQL Server 2005系统中,根据Transact-SQL语言的功能特点,可以把Transact-SQL语言分为5种类型,即 数据定义语言 数据操纵语言 数据控制语言 事务管理语言 附加的语言元素,2018年9月20日,第10页,本章内容,3.1 Transact-SQL语言的特点 3.2 Transact-SQL语言的执行方式 3.3 数据定义语言 3.4 数据操纵语言 3.5 数据控制语言 3.6 事务管理语言 3.7 附加的语言元素 3.8 数据类型 3.9 内置函数 3.10 上机练习 3.11 习题,2018年9月20日,第11页,3.2 Transac

7、t-SQL语言的执行方式,在Microsoft SQL Server 2005系统中,主要使用SQL Server Management Studio工具来执行Transact-SQL语言编写的查询语句。 除此之外,还可以使用sqlcmd实用工具来执行Transact-SQL语句。 因为前面已经讲过如何使用sqlcmd工具执行Transact-SQL语句了,下面主要介绍SQL Server Management Studio工具的特点。,2018年9月20日,第12页,执行Transact-SQL语句示例,2018年9月20日,第13页,【SQL编辑器】的工具栏,2018年9月20日,第14页

8、,本章内容,3.1 Transact-SQL语言的特点 3.2 Transact-SQL语言的执行方式 3.3 数据定义语言 3.4 数据操纵语言 3.5 数据控制语言 3.6 事务管理语言 3.7 附加的语言元素 3.8 数据类型 3.9 内置函数 3.10 上机练习 3.11 习题,2018年9月20日,第15页,3.3 数据定义语言,数据定义语言用于创建数据库和数据库对象,为数据库操作提供对象。 例如,数据库以及表、触发器、存储过程、视图、索引、函数、类型、用户等都是数据库中的对象,都需要通过定义才能使用。 在DDL中,主要的Transact-SQL语句包括CREATE语句、ALTER语

9、句、DROP语句。,2018年9月20日,第16页,CREATE语句,CREATE语句用于创建数据库以及数据库中的对象,是一个从无到有的过程。也就是说,CREATE语句用于创建将要在今后使用数据库或数据库对象。 【例3-1】使用CREATE语句创建一个ContactDetail表。,2018年9月20日,第17页,ALTER语句,ALTER语句用于更改数据库以及数据库对象的结构。也就是说,ALTER语句的对象必须已经存在。 ALTER语句仅仅是更改其对象的结构,其对象中已有的数据不受任何影响。对于表对象来说,使用ALTER语句在表中增加一个新列、删除一个列等操作都属于对表结构的更改。 【例3-

10、2】使用ALTER语句在ContactDetail表中增加一个productName列。,2018年9月20日,第18页,DROP语句,删除数据库或数据库对象的结构可以通过使用DROP语句来完成。需要注意的是,删除对象结构包括删除该对象中的所有内容和对象本身。例如,如果删除ContactDetail表,那么不仅仅ContactDetail表结构不再存在了,该表中的所有数据也都自然不存在了。 【例3-3】使用DROP语句删除ContactDetail表。,2018年9月20日,第19页,本章内容,3.1 Transact-SQL语言的特点 3.2 Transact-SQL语言的执行方式 3.3

11、数据定义语言 3.4 数据操纵语言 3.5 数据控制语言 3.6 事务管理语言 3.7 附加的语言元素 3.8 数据类型 3.9 内置函数 3.10 上机练习 3.11 习题,2018年9月20日,第20页,3.4 数据操纵语言,数据操纵语言主要是用于操纵表、视图中数据的语句。 当我们创建表对象之后,初始状态时该表是空的,没有任何数据。 如何向表中添加数据呢?这时需要使用INSERT语句。 如何检索表中数据呢?可以使用SELECT语句。 如果表中数据不正确的,那么可以使用UPDATE语句进行更新。 当然,也可以使用DELETE语句删除表中的数据。 实际上,DML语言正是包括了INSERT、SE

12、LECT、UPDATE及DELETE等语句。,2018年9月20日,第21页,INSERT语句,INSERT语句用于向已经存在的表中插入新的数据,一次插入一行数据。当需要向表中插入多行数据时,需要多次使用INSERT语句。 【例3-4】使用INSERT语句向ContactDetail表中插入数据。,2018年9月20日,第22页,UPDATE语句,如果表中的数据不正确或不合适或者已经变化,那么可以使用UPDATE语句更新这些不恰当的数据。 【例3-5】使用UPDATE语句将ContactDetail表中330号产品的销售数量由2500台更新为3000台,单价由1000元更改为990元。,201

13、8年9月20日,第23页,DELETE语句,使用DELETE语句可以删除表中的数据。一般地,如果在DELETE语句中没有删除条件,那么将删除表中的所有数据。 需要注意的是,DELETE语句与DROP语句不同。DELETE语句删除表中的数据,但是该表对象依然存在。DROP语句则删除了表对象,表中的数据自然也不存在了。 【例3-6】使用DELETE语句删除ContactDetail表中351号产品的信息。,2018年9月20日,第24页,本章内容,3.1 Transact-SQL语言的特点 3.2 Transact-SQL语言的执行方式 3.3 数据定义语言 3.4 数据操纵语言 3.5 数据控制

14、语言 3.6 事务管理语言 3.7 附加的语言元素 3.8 数据类型 3.9 内置函数 3.10 上机练习 3.11 习题,2018年9月20日,第25页,3.5 数据控制语言,数据控制语言(DCL)主要用来执行有关安全管理的操作,该语言主要包括GRANT语句、REVOKE语句和DENY语句。GRANT语句可以将指定的安全对象的权限授予相应的主体,REVOKE语句则删除授予的权限,DENY语句拒绝授予主体权限,并且防止主体通过组或角色成员继承权限。 下面,通过一个简单示例讲述DCL语言的特点。,2018年9月20日,第26页,【例3-7】演示DCL语言,【例3-7】演示DCL语言的特点。假设C

15、leon是ElecTravelCom数据库中的一个用户,GManager是该数据库中的一个角色,且Cleon用户是GManager角色的一个成员。,2018年9月20日,第27页,本章内容,3.1 Transact-SQL语言的特点 3.2 Transact-SQL语言的执行方式 3.3 数据定义语言 3.4 数据操纵语言 3.5 数据控制语言 3.6 事务管理语言 3.7 附加的语言元素 3.8 数据类型 3.9 内置函数 3.10 上机练习 3.11 习题,2018年9月20日,第28页,3.6 事务管理语言,在Microsoft SQL Server系统中,可以使用BEGIN TRANS

16、ACTION、COMMIT TRANSACTION及ROLLBACK TRANSACTION等事务管理语言(TML)语句来管理显式事务。 其中,BEGIN TRANSACTION语句用于明确地定义事务的开始,COMMIT TRANSACTION语句用于明确地提交完成的事务。 如果事务中出现了错误,那么可以使用ROLLBACK TRANSACTION语句明确地取消定义的事务。,2018年9月20日,第29页,【例3-8】演示TML语言,【例3-8】演示如何使用TML语言。 为了确保账户之间的转账过程准确无误,需要通过定义明确的事务来完成这种操作。,2018年9月20日,第30页,创建accounting表,2018年9月20日,第31页,向accounting表中插入数据,2018年9月20日,第32页,accounting表中当前信息,2018年9月20日,第33页,转账事务语言示例,2018年9月20日,第34页,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 经济/贸易/财会 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号