数据库技术与应用-课件-第7章.ppt

上传人(卖家):三亚风情 文档编号:3203881 上传时间:2022-08-03 格式:PPT 页数:70 大小:763KB
下载 相关 举报
数据库技术与应用-课件-第7章.ppt_第1页
第1页 / 共70页
数据库技术与应用-课件-第7章.ppt_第2页
第2页 / 共70页
数据库技术与应用-课件-第7章.ppt_第3页
第3页 / 共70页
数据库技术与应用-课件-第7章.ppt_第4页
第4页 / 共70页
数据库技术与应用-课件-第7章.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

1、第七章 T-SQL在SQL Server 2005中的应用中的应用第一节 SQL 概述 SQL自从推出以来,就得到了广泛的应用,国际上很多计算机公司在它们开发和经销的数据库管理系统产品中都支持SQL的各种版本软件。目前广泛应用的,无论是像Oracle、Sybase、SQL Server、Informix这些大型的数据库管理系统,还是像PowerBuilder、Visual Foxpro、Access这些微机上常用的数据库开发系统,都支持了SQL标准。一、SQL 的发展历程二、T-SQL特点(一)(一)T-SQL的组成的组成。1.SQL语句的标准语言部分 SQL语句的标准部分,主要利用这些标准的

2、SQL编写应用程序和脚本,利用编写好的程序和脚本可以自如地移到其他的关系型数据库管理系统中执行。2.在标准SQL语句上的扩充 Microsoft公司在标准SQL语句上增加了许多新的功能,如语句的注释、变量、运算符、函数和流程控制语句,而且还增加了可编程性和灵活性。1.一体化的特点 2.T-SQL具有交互式和嵌入式两种使用方式 3.高度非过程化、采用集合的操作方式 4.语言简洁、易学易用 5.支持三级数据模式结构(二)T-SQL的特点(一)T-SQL的语法格式约定(二)T-SQL的运算符 T-SQL所使用的运算符可以分为算术运算符、赋值运算符、按位运算符、比较运算符、逻辑运算符、字符串串联运算符

3、和一元运算符7种。(三)函数 三、T-SQL的基础知识第二节 使用T-SQL进行数据定义(一)T-SQL语句创建数据库的语法格式 CREATE DATABASE 数据库名 /设置数据库的名称 ON /定义数据库的数据文件 PRIMARY /设置主文件组,n /设置数据文件的属性,FILEGROUP 文件组名 ,n /设置次数据文件组及数据文件属性 LOG ON /定义数据库的日志文件 ,n /设置日志文件的属性 一、数据库定义 其中和为以下属性的组合:(NAME=逻辑文件名,/设置在SQL Server中引用时的名称 FILENAME=物理文件名 /设置文件在磁盘上存放的路径和名称,SIZE=

4、文件初始容量 /设置文件的初始容量,MAXSIZE=文件最大容量|UNLIMITED /设置文件的最大容量,FILEGROWTH=文件增长率 /设置文件的自动增量。(二)使用T-SQL语句创建数据库实例 1.创建数据库的步骤(1)在SQL Server Management Studio窗口中,单击工具栏上的“新建查询”按钮,打开查询编辑器。(2)在查询编辑器中输入要创建数据库的T-SQL语句 (3)单击工具栏中的“分析”按钮,检查输入T-SQL语句的语法无错误后,单击“执行”按钮,运行结果如图所示。(二)使用T-SQL语句创建数据库实例(4)刷新“对象资源管理器”的“数据库”节点,就可看到定

5、义的tsdgdb数据库,如图所示。二、基本表的定义(一)T-SQL语句创建基本表 1.使用T-SQL语句创建基本表的语法格式CREATE TABLE 数据库名.表的所有者.表名 /设置表名(/定义列属性 /设置列约束,n /定义其他列)的语法为:列名 数据类型(长度)/设置列名和数据类型 DEFAULT 常量表达式 /定义默认值|IDENTITY(初值,增量)/定义标识列 的语法为:CONSTRAINT 约束名 /设置约束名NULL|NOT NULL /设置空或非空值约束|DEFAULT /设置默认值约束|PRIMARY KEY|UNIQUE /设置主键或唯一性约束 CLUSTERED|NON

6、CLUSTERED /设置聚簇或非聚簇索引|FOREIGN KEY(外关键字列1,n)/设置外键约束REFERENCES 参照表名(列1,n)|CHECK(逻辑表达式)/设置检查约束 例:为tsdgdb数据库,创建图书表(ts)、客户表(kh)、图书订购表(tsdg),其表的结构要求为:图书表包含的字段有图书编号(tsbh)、图书名(tsm)、类别(lb)、出版社(cbs)、单价(dj)、作者(zz)、ISBN,其中图书编号为主键,图书名不能为空。客户表包含的字段有客户编号(khbh)、客户姓名(khm)、客户地址(khdz)、联系电话(lxdh),其中客户编号为主键,客户地址不能为空。图书订

7、购表包含的字段有客户编号(khbh)、图书编号(tsbh)、订购日期(dgrq)、订购数量(dgsl),要求客户编号、图书编号分别来自客户表和图书表。创建表实例(1)在查询编辑器代码窗口输入如下创建ts表的语句:USE tsdgdb /切换当前数据库为tsdgdb GO CREATE TABLE ts(tsbh char(10)PRIMARY KEY,/设置主键约束 tsm char(20)NOT NULL,/设置非空值约束 lb char(10),cbs char(20),dj money,zz char(10),isbn char(13))GO(2)单击工具栏的“分析”按钮,检查语法通过后

8、,单击“执行”按钮,可以执行该SQL语句,并打开查询结果窗口,看到“命令已成功完成”执行信息,然后刷新“对象资源管理器”中的tsdgdb,会看到新建的图书表(ts),结果如图所示。(二)T-SQL语句修改基本表 语法格式如下:ALTER TABLE 表名 ADD ,n /定义要添加的列,设置列约束|ADD ,n /定义要添加的列,设置列约束|DROP COLUMN 列名|CONSTRAINT 约束名,n /删除列或列约束|ALTER COLUMN 列名 /指定要修改的列名 新数据类型(新数据宽度)/设置新的数据类型 NULL|NOT NULL /设置是否为空|WITHCHECK|NOCHECK

9、 /启用或禁用约束检查CHECK|NOCHECK CONSTRAINT ALL|约束名,n /启用或禁用约束 (三)T-SQL语句删除基本表删除基本表使用命令动词DROP,其语法格式如下:DROP TABLE 基本表名三、视图的定义(一)T-SQL语句创建视图 其语法格式为:CREATE VIEW (,)AS 子查询 WITH CHECK OPTION例:在tsdgdb数据库,为图书表(ts)创建视图v_lb,要求通过该视图,可以查询类别为“计算机类”的所有图书信息。(1)在查询编辑器代码窗口输入如下语句:CREATE VIEW v_lb AS SELECT*FROM ts WHERE LB=

10、计算机类(2)执行语句,看到“命令成功完成”的消息。在查询编辑器代码窗口输入如下查询视图语句,执行结果如图所示。(二)T-SQL语句修改和删除视图 1.修改视图 其语法格式如下:ALTER VIEW (,)AS 子查询 WITH CHECK OPTION 2.删除视图 删除视图通常需要使用DROP VIEW语句进行,其语法格式如下:DROP VIEW 四、索引定义(二)使用T-SQL语句创建索引 1.T-SQL语句创建视图的语法格式 其语法格式如下:CREATE UNIQUECLUSTEREDNONCLUSTERED INDEX 索引名 ON 表名|视图名(列名1ASC|DESC,n)例:为t

11、sdgdb数据库的图书表(ts)创建一个唯一索引tsm_index,依据字段tsm进行升序排序。(1)在查询编辑器代码窗口输入如下语句:USE tsdgdb CREATE UNIQUE INDEX tsm_index ON ts(tsm)GO(2)执行语句,刷新“对象资源管理器”,即可看到所创建的索引。(二)使用T-SQL语句修改和删除索引 1.修改索引 其语法格式如下:ALTER INDEX 索引名 ON 表名|视图名 REBUILD|REORGANIZE|DISABLE 2.删除索引 其语法格式如下:DROP INDEX 索引名五、存储过程定义(一)T-SQL语句创建存储过程 其语法格式为

12、:CREATE PROCEDURE 参数 数据类型 WITH RECOMPILE|ENCRYPTION AS T-SQL语句块 (二)使用T-SQL语句执行存储过程在SQL Server中使用EXECUTE语句来执行存储过程,其语法格式如下:EXECUTE 存储过程名 参数=参量值|变量,n六、触发器定义(一)触发器的分类 1.DML触发器 2.DDL触发器(二)T-SQL语句创建触发器 1.创建DML触发器语法格式如下:CREATE TRIGGER 触发器名 ON 表|视图|服务器|数据库 WITH ENCRYPTION FOR|AFTER|INSTEAD OF INSERT,UPDATE,

13、DELETE AS T-SQL语句 2.创建DDL触发器语法格式如下:CREATE TRIGGER 触发器名 ON ALL服务器|数据库FOR|AFTER AS T-SQL语句第三节 使用T-SQL进行数据查询一、SELECT语句介绍 语法格式如下:SELECT ALL|DISTINCTTOP nPERCENT 字段列表 INTO 新表名 FROM WHERE GROUP BY HAVING ORDER BYALL ASC|DESC,n COMPUTE ,n BY 列名,n二、数据查询(一)简单查询 1.选择表中的若干列 SELECT语句格式如下:SELECT 字段列表 FROM 表名【例】查

14、询客户表的客户编号(khbh)、客户姓名(khxm)、联系电话(lxdh)。USE tsdgdb GO SELECT khbh,khxm,lxdh FROM kh GO2.选择表中若干行(1)通过TOP和DISTINCT关键字限制返回的行数 【例】查询图书表(ts)的前两条记录信息。SELECT top 2*FROM ts(2)查询满足条件的元组。基本的SELECT语句格式如下:SELECT 字段列表 FROM 表名 WHERE 查询条件【例】查询计算机类或管理类图书定价在20元以上的图书信息。SELECT*FROM ts WHERE lb=管理类 or lb=计算机类AND dj203.对查

15、询结果进行排序 基本语法格式如下:SELECT 字段列表 FROM 表名 ORDER BY 列名|列号 ASC|DESC,n【例】查询图书表中书名中有“数据库”的图书信息,并按定价降序排序。SELECT*FROM ts WHERE tsm LIKE%数据库%ORDER BY dj DESC4.汇总查询(1)使用聚集函数 【例】查询图书表中计算机类图书的册数。SELECT count(*)AS 总册数 FROM ts WHERE lb=计算机类(2)使用GROUP BY子句分类汇总 语法格式如下:GROUP BY 列名HAVING 筛选条件表达式 其中“HAVING 筛选条件表达式”表示对生成的

16、组筛选后,再对满足条件的组进行统计。(3)使用COMPUTE子句明细分类汇总 语法格式如下:COMPUTE ,n BY 列名,n【例】统计图书订购表中客户订购的图书总数,并显示明细信息。SELECT khbh,tsbh,dgsl FROM tsdg COMPUTE sum(dgsl)【例】统计图书订购表中每个客户订购的图书总数,并显示明细信息。SELECT khbh,tsbh,dgsl FROM tsdg ORDER BY khbh COMPUTE sum(dgsl)BY khbh 其语法格式有两种:一种是ANSI语法形式,另一种是SQL Server语法形式。ANSI连接查询的语法格式如下:

17、SELECT 目标列 FROM 表名1连接类型 JOIN 表名2 JOIN 表名n ON 连接条件SQL Server连接查询的语法格式如下:SELECT 目标列 FROM 表名1,n WHERE 查询条件 AND|OR 连接条件n。2)删除单元格(二)连接查询1.内连接(INNER JOIN)内连接是将多个表中的共同列的值进行比较,把满足连接条件的记录横向连接起来,作为查询结果。当未指明连接类型时,默认为内连接。【例】查询订购日期在2010-5-10之后订购图书的客户姓名、图书名、订购数量。SELECT khxm,tsm,dgslFROM kh,tsdg,tsWHERE tsdg.khbh=

18、kh.khbh AND tsdg.tsbh=ts.tsbh AND dgrq2010-5-102.外连接(OUTER JOIN)(1)左外连接(LEFT OUTER JOIN)【例】查询同一个图书编号的图书订购数量大于15册的图书编号(thbh)、图书名(tsm)和订购数量(dgsl)。SELECT ts.tsbh,tsm,dgslFROM ts LEFT JOIN tsdg ON ts.tsbh=tsdg.tsbh AND dgsl152.外连接(OUTER JOIN)(1)左外连接(LEFT OUTER JOIN)【例】查询同一个图书编号的图书订购数量大于15册的图书编号(thbh)、图书

19、名(tsm)和订购数量(dgsl)。SELECT ts.tsbh,tsm,dgslFROM ts LEFT JOIN tsdg ON ts.tsbh=tsdg.tsbh AND dgsl15(2)右外连接(RIGHT OUTER JOIN)(3)全外连接(FULL OUTER JOIN)。3.自连接(JOIN)自连接,是使用内连接或外连接把一个表中的行与该表中另外一些行连接起来,主要用于查询比较相同的信息。【例】在查询结果集的每一行上显示每个客户订购的两种图书编号的订购数量。SELECT X.khbh,X.tsbh,X.dgsl,Y.tsbh,Y.dgslFROM tsdg X JOIN ts

20、dg Y ON X.khbh=Y.khbhWHERE X.tsbh Y.tsbh(三)嵌套查询1.非相关子查询非相关子查询是指子查询的执行不依赖于父查询,并且每个子查询都只执行一次。2.相关子查询相关子查询指的是子查询的执行依赖于父查询,每个子查询都只执行多次。其执行方式为:首先父查询将值传递给子查询后,执行子查询,然后根据子查询的执行结果判断父查询的条件是否满足要求,如果条件为真则显示结果,否则不显示,重复直到父查询的表全部处理完。这类查询主要针对的是带有NOTEXISTS运算符的嵌套查询。【例】查询客户编号为kh0002的客户所订购图书的图书编号、图书名。SELECT tsbh,tsmFR

21、OM tsWHERE exists(SELECT*FROM tsdg WHERE ts.tsbh=tsdg.tsbh AND khbh=kh0002)(四)组合查询组合查询,就是将多个SELECT语句的查询结果再进行集合运算。SQL的组合查询运算符有UNION(并操作)、INTERSECT(交操作)、EXCEPT(差操作)3种。【例】查询订购了图书编号为ts10001,但没有订购图书编号为ts10002图书的客户的编号。解决本例题有两种方法。(1)使用EXCEPT操作,T-SQL语句如下:SELECT khbhFROM tsdg XWHERE tsbh=ts10001 EXCEPTSELECT

22、 khbhFROM tsdg WHERE tsbh=ts10002(2)使用EXISTS运算符,T-SQL语句如下:SELECT khbhFROM tsdg XWHERE tsbh=ts10001 and NOT EXISTS(SELECT*FROM tsdg Y WHERE X.khbh=Y.khbh AND tsbh=ts10002)第四节 使用T-SQL进行数据更新一、插入数据(一)使用常量插入单个元组(一)使用常量插入单个元组 语法格式如下:INSERT INTO(,)VALUES(,)【例】向tsdgdb数据库的图书表(ts)插入两行数据。INSERT INTO ts(tsbh,ts

23、m,lb,cbs,dj,zz,isbn)VALUES(ts20002,电子商务案例分析教程,管理类,电子工业出版社,29,斯林胜,9787121102486)INSERT INTO ts VALUES(ts20003,新编电子商务概论,管理类,电子工业出版社,20,孟泽云,9787121111570)语法格式如下:INSERT INTO(,)(二)使用子查询插入多个元组【例】把books数据库中的图书表数据记录插入tsdgdb数据库中ts表中。USE tsdgdb GO INSERT INTO ts SELECT *FROM books.dbo.图书表 GO二、修改数据 修改数据的T-SQL语

24、句的一般格式为:UPDATE SET=,=,n WHERE 【例】将将计算机类图书统一降价5元。UPDATE ts SET dj=dj-5 WHERE lb=计算机类三、删除数据数据删除的语法格式如下:DELETE FROM WHERE T-SQL的扩展语句删除记录的语法格式为:DELETE FROM JOIN ON 连接条件 WHERE 【例】删除客户张燕的所有订购记录。DELETE tsdg FROM tsdg INNER JOIN kh ON tsdg.khbh=kh.khbh WHERE khxm=张燕 或使用带有嵌套查询的DELETE语句:DELETE tsdg WHERE khbh

25、 IN(SELECT khbh FROM kh WHERE khxm=张燕)第五节 数据控制在SQL Server 2005的应用一、数据控制方法与SQL Server的数据库操作权限(一)数据控制方法 1.授权定义 2.存权处理 3.查权操作(二)SQL Server的数据库操作权限1.对象特权对象特权是指用户访问和操作数据库中的表、视图、存储过程等对象的操作权限,类似于数据库操作语言DML的语句权限。有5个对象权限:用于表和视图的SELECT、INSERT、UPDATE、DELETE权限和用于存储过程的EXECUTE权限。2.系统权限系统权限又称为语句权限,是指用户创建或删除数据库、创建或

26、删除用户、创建或修改数据库对象、执行数据库或事务日志备份的权限。系统权限包括CREATE DATABASE、CREATE TABLE、CREATE VIEW、CREATE DEFAULT、CREATE RULE、BACKUP DATABASE、BACKUP LOG。3.隐含权限隐含权限是SQL Server 2005系统内置权限,是不需要进行授权就可拥有的数据操作权。用户拥有的隐含特权与自己的身份有关,二、数据控制实例分析(一)对象权限的设置(一)对象权限的设置 设置对象权限的语法格式如下:GRANT/REVOKE/DENY ALL|PRIVILIGES ON TO|FROM|PUBLIC WITH GRANT OPTION;(二)语句权限的设置 设置语句权限的语法格式如下:GRANT/REVOKE/DENY TO|FROM|PUBLIC WITH GRANT OPTION【例】授予除了用户user3之外的其他所有用户创建视图的权限。GRANT CREATE VIEW TO PUBLIC DENY CREATE VIEW TO user3本章结束谢谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据库技术与应用-课件-第7章.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|