09101数据库系统原理及应用-语法与流程控制

上传人:宝路 文档编号:48218403 上传时间:2018-07-11 格式:PPT 页数:91 大小:780.93KB
返回 下载 相关 举报
09101数据库系统原理及应用-语法与流程控制_第1页
第1页 / 共91页
09101数据库系统原理及应用-语法与流程控制_第2页
第2页 / 共91页
09101数据库系统原理及应用-语法与流程控制_第3页
第3页 / 共91页
09101数据库系统原理及应用-语法与流程控制_第4页
第4页 / 共91页
09101数据库系统原理及应用-语法与流程控制_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《09101数据库系统原理及应用-语法与流程控制》由会员分享,可在线阅读,更多相关《09101数据库系统原理及应用-语法与流程控制(91页珍藏版)》请在金锄头文库上搜索。

1、数据库系统原理与应用SQLServer2000编程语法与流程控 制教学目标 Transact-SQL语言是微软公司在关系型数据库管理 系统Microsoft SQL Server中的实现。通过使用各种 Transact-SQL语句,可以完成SQL Server数据库中 的各种操作。Transact-SQL语言的特点 Transact-SQL语言是微软对SQL语言的扩展。 Transact-SQL语言是一种交互式查询语言,具有功 能强大、简单易学的特点。 Transact-SQL语言有4个特点:一是一体化的特点,集数据定义语言、数据操纵语 言、数据控制语言和附加语言元素为一体。二是两种使用方式,

2、交互式和嵌入到高级语言的使 用方式。前者适合于非数据库专业人员使用,后者适 合于数据库专业开发人员使用。三是非过程化语言,只需要提出“干什么”,不需要指 出“如何干”,语句的操作过程由系统自动完成。四是,类似于人的思维习惯,容易理解和掌握。Transact-SQL语言的组成元素 数据控制语言语句 数据定义语言语句 数据操纵语言语句 附加的语言元素 数据控制语言语句 安全性管理是分布式数据库系统的重要特征。安全性管理就 是确保数据库中的数据和操作不能被未授权的用户使用和执行 。数据控制语言语句就是用来进行安全性管理,它可以确定哪 些用户可以查看或修改数据、或执行数据库中的操作等,这些 语句主要包

3、括GRANT、DENY、REVOKE等语句。 语语句功能说说明 GRANT 授予权限 可把语句许可或对象许可的权 限授予其他用户和角色 REVOK E 收回权限 与GRANT的功能相反,但不影 响该用户或角色从其他角色中 作为成员继承许可权限 DENY 收回权限,并禁止从其他角 色继承许可权限 功能与REVOKE相似,不同之 处:除收回权限外,还禁止从 其他角色继承许可权限数据定义语言语句数据定义语言语句用来执行数据库的任务、创建数据库以 及数据库中的各种对象,这些语句包括CREATE、ALTER、 DROP等语句。在Microsoft SQL Server 2000系统中,数 据库及其对象包

4、括数据库、表、缺省、规则、视图、触发器 、存储过程等。 这些对象的创建、修改和删除等管理都可以通过使用 CREATE、ALTER、DROP等语句来完成。语语句功能说说明CRE ATE创建数据库或数据库对 象不同数据库对象,其CREATE语句的语 法形式不同ALT ER对数据库或数据库对象 进行修改不同数据库对象,其ALTER语句的语法 形式不同DR OP删除数据库或数据库对 象不同数据库对象,其DROP语句的语法 形式不同数据操纵语言语句数据操纵语言语句,用来在数据库中操纵各种对象,检索和 修改数据,这些语句包括SELECT、INSERT、UPDATE、 DELETE等。SELECT语句是检索

5、语句,可以从表中检索数据 。INSERT语句是插入数据语句,可以把数据插入到表中。 UPDATE语句是修改数据语句,可以对表中的数据进行修改。 DELETE语句是删除数据语句,可以把表中的数据删除。这些 语句都是操纵数据库的最常用到的语句。语语句功能说说明SELE CT从表或视图中检索数据是使用最频繁的SQL语句之一INSE RT将数据插入到表或视图中 UPDA TE修改表或视图中的数据既可修改表或视图的一行数据,也可 修改一组或全部数据DELE TE从表或视图中删除数据可根据条件删除指定的数据附加的语言元素 附加的语言元素不是ISO SQL-3的标准内容,而是 Transact-SQL语言为

6、了编程而增加的语言元素。这些 语言元素包括变量、运算符、函数、流程控制语言和 注释等等。 下面就要介绍这些Transact-SQL语法的要素批处理命令 批处理是多条Transact-SQL语句构成的集合。 SQL Server将批处理语句进行编译形成一个可执行 单元,称为执行计划。执行计划中的语句一次执行 每一条语句,如果在编译过程中出现语法错误,那 么批处理中所有的语句均无法正常执行。如果在运 行阶段出现错误时,一般都会中断当前以及其后语 句的执行,只有在少数情况下,如违反约束时,仅 中断当前出错的语句而继续执行其他语句。在建立批处理时,应该遵循以下规则: 不能在批处理中引用其他批处理中所定

7、义的变量。 CREATE DEFAULT、CREATE PROCEDURE、 CREATE RULE、CREATE TRIGGER 和 CREATE VIEW 语句不能在批处理中与其它语句组合使用。 不允许在一个批处理中更改表结构、并引用新的字 段。 如果 EXECUTE 语句是批处理中的第一句,则不需 要 EXECUTE 关键字。如果 EXECUTE 语句不是批处 理中的第一条语句,则需要 EXECUTE 关键字。 一个完整的批处理需要使用GO语句作为结束标记。GOn向 SQL Server 描述由 Transact-SQL 语句组 成的批处理n实际上并不是 Transact-SQL 语句

8、EXECUTE /EXECn用于执行用户定义的函数、系统存储过程、用 户自定义存储过程或一个扩展的存储过程n在一个 Transact-SQL 批处理内部,EXEC 能 控制一个字符串的运行 注释 注释是程序代码中不执行的文本字符串。在SQL Server中,可以使用两种类型的注释字符: 一种是ANSI标准的注释符“-”,它用于单行注释; 另一种是与C语言相同的注释符号,即“/* */”。 注释语句 嵌于行内的注释语句块注释语句SELECT productname , (unitsinstock - unitsonorder) - 计算存货 , supplierID FROM products

9、GO/* 这部分代码检索产品表的所有行并且显示单价,增加了10%的单价和产品名 称。 */ USE northwind SELECT unitprice, (unitprice * 1.1), productname FROM products GO示例 2示例 1标识符标准标识符n第一个字符必须是字母,az 或 AZn第一个字符后可以是数字、字母或各种 符号n当标识符的第一个字符是符号时,代表 它有特殊用处1. 以开头的标识符代表局部变量或参 数 2. 以#开头的标识符代表临时表或存储 过程3. 以#开头的标识符代表一个全局临 时对象标识符(续) 限定标识符n当对象名称包含空格时n当保留关键

10、字被用作对象名或对象部分的名字 时n可以用中括号表示的括号标识符( )用双引号表示的引用标识符(“ ”)SELECT * FROM 含空格的表名SELECT * FROM “含空格的表名”标识符的命名原则 使用短的名字尽量使用有意义的名字使用简单明了的命名约定使用能够区分出对象类型的标识符n视图n存储过程 保持对象名和用户名的一致性nsales 表和 sales 角色数据类型 数字型代表数字,包括各种整数如 int、tinyint、smallint 和 bigint日期型代表日期和日期范围,包括 datetime 和 smalldatetime字符型用于表示字符数据或字符串,包括 char、n

11、char、 varchar 和 nvarchar二进制型在存储与结构上与字符型数据相似,包括 binary 和 varbinary数据类型(续)惟一标识符(GUID)代表一个全局的特殊标识符,是一个 16 位 16 进 制的值 SQL 变量代表 SQL Server 所支持的各种数据类型图像和文本属于大型二进制对象结构(BLOB),代表定长 或变长的数据类型表代表一个表结构,在 SQL Server 2000 中,可以 把表保存在字段中数据类型(续)游标用于存储过程的编程中,也会和低层客户接口同时使用 。游标从不用于数据定义语言(DDL)语句中用户自定义数据类型基于系统数据类型,由数据库管理员

12、生成常量常量常量,也称为字面值或标量值,是表示一个特 定数据值的符号,在运行过程中其值不会变的量 。常量的格式取决于它所表示的值的数据类型 。包括:字符型常量,整型常量, 实型常量, 日期常量等。 Example:This is 12 12.3 2002-09-09变量 变量对于一种语言来说是必不可少的组成部分。 变量有两种形式,一种是用户自己定义的局部变量 ,另外一种是系统提供的全局变量。 可以使用DECLARE语句定义一个局部变量,并且指 定变量的数据类型。 系统本身还提供了一些全局变量。引用全局变量时 ,名字前要有两个标记符“”。 变量 用 DECLARE 语句定义局部变量 用 SET

13、或 SELECT 语句给局部变量赋值 局部变量只具有局部作用范围 只能在定义它的语句、批处理或过程中使用【例】创建局部变量var1、var2,并赋值,然后输出变量 的值。 DECLARE var1 varchar(20),var2 varchar(40) SET var1=中国 /*一个SET语句只能给一个变量赋值*/ SET var2=var1+是一个伟大的国家 select var1,var2 go【例】创建一个名为sex的局部变量,并在 SELECT 语句 中使用该局部变量查找表student中所有女同学的学号、姓名 。 DECLARE sex char(2) SET sex=女 SEL

14、ECT SNO,SNAMEFROM studentWHERE SSEX=sex GO 【例】使用查询给变量赋值。 DECLARE student char(8) SET student=(SELECT SNAME FROM student WHERE SNO=200215121) SELECT student GO l 用SELECT语句赋值 语法格式: SELECT local_variable=expression ,n变量(续) 全局变量用两个 标识,由 SQL Server 提供,用户不能 创建全局变量 设置变量提供 SQL Server 当前各种特性和参数的设置信息 统计变量提供 S

15、QL Server 自启动后的运行信息 系统变量提供最近对表操作的信息一些常用的全局变量: (1)CONNECTIONS返回自上次启动SQL Server以来连接或试图连 接的次数。 (2)MAX_CONNECTIONS返回SQL Server上允许的同时用户连接的最大 数。 (3)ERROR 返回最后执行的 T-SQL 语句的错误代码。(4) TRANCOUNT 返回当前连接的活动事务数 。 (5) VERSION 返回 SQL Server 当前安装的日期 、版本和处理器类型。 (6) SERVERNAME返回运行 SQL Server 的本地服务器名称。 (7) SERVICENAME返回 SQL Server 正在其下运行的注册表键名。若 当前实例为默认实例,则 SERVICENAME 返回 MSSQLServer;若当前实例是命名实例,则该函数返 回实例名。(8) SPID返回当前用户进程的服务器进程标识符 (ID)。 (9) ROWCOUNT返回受上一语句影响的行数。 (10) NESTLEVEL返回当前存储过程执行的嵌套层次(初始值为0)。 (11) LANGUAGE返回当前使用的语言名。 (12) OPTIONS返回当前 SET 选项的信息。(13) CPU_BUSY返回自上次启动 SQL Server 以来 CPU 的工作时间 ,单位为毫秒(基于系

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

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