第章Transact-SQL程序设计ppt课件.ppt_第1页
第章Transact-SQL程序设计ppt课件.ppt_第2页
第章Transact-SQL程序设计ppt课件.ppt_第3页
第章Transact-SQL程序设计ppt课件.ppt_第4页
第章Transact-SQL程序设计ppt课件.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第6章Transact SQL 本章学习目标 了解批处理的概念掌握Transact SQL语言中的变量的定义及使用方法掌握Transact SQL语言中的常用系统函数及使用方法掌握Transact SQL语言中的常用运算符及其优先级掌握Transact SQL语言中的流程控制语句的种类及用法 6 1概述 由于标准SQL语言形式简单 不能满足实际应用中的编程需要 因此 Transact SQL语言另外增加了一些语言要素 这些附加的语言要素不是标准SQL中的内容 它们包括注释 变量 运算符 函数和流程控制语句等 6 1概述 为了管理SQLServer2005的一些新增功能和提供程序开发的能力 Transact SQL将原有的语法加以翻新 提供了更丰富的内容 同时也使得Transact SQL的语法更一致化 SQLServer2005新增了原生的XML数据类型 能大幅增强XML数据访问的能力 6 1概述 为了提高程序的执行效率 在Transact SQL语言编写的程序中 还可以使用GO语句将多条SQL语句进行分隔 两个GO之间的SQL语句作为一个批处理 在一个批处理中可以包含一条或多条Transact SQL语句 成为一个语句组 这样的语句组从应用程序一次性地发送到SQLServer服务器进行执行 SQLServer服务器将批处理编译成一个可执行单元 称为执行计划 6 1概述 例6 1 1 使用GO语句的例子 USESTUDENTSELECT FROMT STUDENTGoSELECTS NUMBER S NAME SEXFROMT STUDENTWHERES NAMElike 张 ANDSEX 男 GO SELECTS NUMBER S NAME SEXFROMT STUDENTWHERES NAMElike 张 ANDSEX 男 GO注意 GO语句本身并不是Transact SQL语句的组成部分 它只是一个用于表示批处理结束的前端命令 6 2注释 注释 也称为注解 是写在程序代码中的说明性文字 它们对程序的结构及功能进行文字说明 注释内容不被系统编译 也不被程序执行 在SQLServer中 有两种类型的注释字符 单行注释 使用两个连在一起的减号 作为注释符 多行注释 使用 作为注释符 6 2注释 例6 2 1 在程序中使用注释的例子 USESTUDENT 打开STUDENT数据库 GO 下面的SQL语句完成在T STUDENT表中查询 05541班学生的学号 姓名和出生日期三个字段 的记录 要求按姓名的降序排序SELECTS NUMBER S NAME BIRTHDAYFROMT STUDENTWHERESUBSTRING T STUDENT S NUMBER 1 5 05541 ORDERBYS NAMEDESCGO 6 3变量 变量是一种程序设计语言中必不可少的组成部分 可以用它保存程序运行过程中的中间值 也可以在语句之间传递数据 Transact SQL语言中的变量是可以保存单个特定类型的数据值的对象 也称为局部变量 只在定义它们的批处理或过程中可见 6 3 1变量的定义 Transact SQL语言中的变量在定义和引用时要在其名称前加上标志 而且必须先用DECLARE命令定义后才可以使用 DECLAER local variabledata type n 6 3 1变量的定义 各个参数的含义如下 local variable 用于指定变量的名称 变量名必须以符号 开头 并且变量名必须符合SQLServer的命名规则 data type 用于设置变量的数据类型及其大小 data type可以是任何由系统提供的或用户定义的数据类型 但是 变量不能是text ntext或image数据类型 6 3 2变量的赋值方法 使用DECLARE命令声明并创建变量之后 系统会将其初始值设为NULL 如果想要设定变量的值 必须使用SET命令或者SELECT命令 SET local variable expression 或者SELECT local variable expression n 参数 local variable是给其赋值并声明的变量 expression是有效的SQLServer表达式 6 3 3变量使用举例 例6 3 1 创建了一个变量 CurrentDateTime 然后将GETDATE 函数的值放在变量中 最后输出 CurrentDateTime变量的值 DECLARE CurrentDateTimechar 30 SELECT CurrentDateTime GETDATE SELECT CurrentDateTimeAS 当前的日期和时间 GO注意 变量只在定义它的批处理中有效 因此 在上例中的程序中间不能写入GO语句 6 3 3变量使用举例 例6 3 2 查询T STUDENT表 将返回的记录数赋给变量 RowsReturn USESTUDENTGO 声明变量DECLARE RowsReturnint 给变量赋值SET RowsReturn SELECTCOUNT FROMT STUDENT 显示变量的值SELECT RowsReturnAS SELECT返回的记录数 GO 6 3 3变量使用举例 例6 3 3 在SELECT语句中使用由SET赋值的变量 USESTUDENTGO 声明变量DECLARE StuSexchar 2 给变量赋值SET StuSex 女 根据变量 StuSex的值进行查询SELECTS NUMBER S NAME SEX BIRTHDAYFROMT STUDENTWHERESEX StuSexGO 6 3 3变量使用举例 例6 3 4 在T SCORE表中 求05541班学生高等数学课程的最高分和最低分的学生信息 包括学号 姓名 课程名 成绩四个字段 USESTUDENTGO 声明变量DECLARE MaxScorereal MinScorereal 给变量赋值SELECT MaxScore MAX SCORE MinScore MIN SCORE FROMT SCORE T COURSEWHERET SCORE C NUMBER T COURSE C NUMBERANDSUBSTRING T SCORE S NUMBER 1 5 05541 ANDT COURSE C NAME 高等数学 根据变量 MaxScore和 MinScore的值进行查询 查询学生的学号 姓名 课程名称 考试分数SELECTT SCORE S NUMBER S NAME C NAME SCOREFROMT STUDENT T COURSE T SCOREWHERET STUDENT S NUMBER T SCORE S NUMBERANDT SCORE C NUMBER T COURSE C NUMBERAND SCORE MaxScoreORSCORE MinScore GO 6 4运算符 运算符是一种符号 用来指定要在一个或多个表达式中执行的操作 在SQLServer2005中 运算符主要有以下六大类 算术运算符 赋值运算符 按位运算符 比较运算符 逻辑运算符 字符串串联运算符 6 4 1算术运算符 算术运算符包括加 减 乘 除 和取模 对于加 减 乘 除这四种算术运算符 计算的两个表达式可以是数字数据类型分类的任何数据类型 对于取模运算符 要求进行计算的数据的数据类型为int smallint和tinyint 完成的功能是返回一个除法运算的整数余数 6 4 1算术运算符 例6 4 1 计算表达式的值 并将结果赋给变量 ExpResult 定义变量DECLARE ExpResultint 给变量赋值SET ExpResult 67 31 显示变量的值SELECT ExpResultAS 表达式计算结果 6 4 2赋值运算符 Transact SQL中只有一个赋值运算符 即等号 赋值运算符使我们能够将数据值指派给特定的对象 另外 还可以使用赋值运算符在列标题和为列定义值的表达式之间建立关系 6 4 2赋值运算符 例6 4 2 查询05541班的学生信息 要求列出的字段为 班级 本班内的学号 姓名 性别 出生日期 政治面貌 USESTUDENTGO 查询05541班的学生信息SELECT班级 SUBSTRING S NUMBER 1 5 本班内的学号 SUBSTRING S NUMBER 6 7 姓名 S NAME 性别 SEX 出生日期 BIRTHDAY 政治面貌 POLITYFROMT STUDENTWHERESUBSTRING S NUMBER 1 5 05541 GO 6 4 3按位运算符 按位运算符包括按位与 按位或 和按位异或 位运算符在两个表达式之间执行位操作 这两个表达式可以为整数数据类型类别中的任何数据类型 要求在位运算符左右两侧的操作数不能同时是二进制数据 6 4 3按位运算符 例6 4 3 使用位运算符计算表达式的值 声明3个变量DECLARE ExpResult1int ExpResult2int ExpResult3int 给变量赋值SELECT ExpResult1 20 12 ExpResult2 20 12 ExpResult3 20 12 输出变量的值SELECT ExpResult1AS 位与运算结果 ExpResult2AS 位或运算结果 ExpResult3AS 位异或运算结果 GO 6 4 4比较运算符 在SQLServer2005中 比较运算符包括 等于 大于 大于或等于 小于 或 不小于 比较运算符用于比较两个表达式的大小 其比较的结果是布尔值 例6 4 4 使用比较运算符计算表达式的值 定义两个变量DECLARE Exp1integer Exp2integer 给变量赋值SET Exp1 30SET Exp2 50 根据两个变量的值输出结果IF Exp1 Exp2PRINT 第1个变量的值大于第2个变量的值 ELSEIF Exp1 Exp2PRINT 第1个变量的值等于第2个变量的值 ELSEPRINT 第1个变量的值小于第2个变量的值 GO 6 4 5逻辑运算符 逻辑运算符包括与 AND 或 OR 和非 NOT 等运算符 逻辑运算符用来把多个逻辑表达式连接起来 逻辑运算返回布尔值 值为TRUE或FALSE 例6 4 5 使用比较运算符计算表达式的值 定义两个变量DECLARE Exp1integer Exp2integer 给变量赋值SET Exp1 30SET Exp2 50 根据两个变量的值输出结果 与运算结果IF Exp1 Exp2AND Exp1 Exp2AND Exp1 Exp2AND Exp1 Exp2OR Exp1 Exp2OR Exp1 Exp2OR Exp1 Exp2的结果值为假 GO 6 4 6字符串串联运算符 加号 是字符串串联运算符 可以用它将字符串串联起来 在SQLServer2005中 允许使用加号对两个或多个字符串进行串联 6 4 6字符串串联运算符 例6 4 6 使用字符串连接运算符计算表达式的值 定义变量DECLARE ExpResultchar 60 对变量赋值SELECT ExpResult 河北省廊坊市 北华航天工业学院 计算机软件教研室 输出变量的值SELECT ExpResultAS 字符串的连接结果 GO 6 4 7运算符的优先级 当一

温馨提示

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

评论

0/150

提交评论