SQLServer第5章T-SQL语言.ppt

上传人:牧羊曲112 文档编号:6524303 上传时间:2023-11-09 格式:PPT 页数:71 大小:542.50KB
返回 下载 相关 举报
SQLServer第5章T-SQL语言.ppt_第1页
第1页 / 共71页
SQLServer第5章T-SQL语言.ppt_第2页
第2页 / 共71页
SQLServer第5章T-SQL语言.ppt_第3页
第3页 / 共71页
SQLServer第5章T-SQL语言.ppt_第4页
第4页 / 共71页
SQLServer第5章T-SQL语言.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《SQLServer第5章T-SQL语言.ppt》由会员分享,可在线阅读,更多相关《SQLServer第5章T-SQL语言.ppt(71页珍藏版)》请在三一办公上搜索。

1、第5章 T-SQL语言,第5章 T-SQL语言,(1)数据定义语言(DDL),(2)数据操纵语言(DML),第5章 T-SQL语言,(3)数据控制语言(DCL),5.1 常量、变量与数据类型,5.1.1 常 量,1.字符串常量,5.1.1 常 量,2.整型常量,3.实型常量,5.1.1 常 量,4.日期时间常量,5.1.2 数据类型,1.系统数据类型,2.用户自定义数据类型,5.1.2 数 据 类 型,1)利用企业管理器定义,5.1.2 数 据 类 型,2)利用命令定义数据类型,语法格式:此语句后半部中,各类型名称均需加单引号。,3.自定义数据类型的删除1)用企业管理器删除自定义数据类型,5.

2、1.2 数 据 类 型,2)利用命令删除自定据类型,【例】:删除library_card_num类型的语句为:,4.利用自定义类型定义字段,5.1.2 数 据 类 型,5.1.3 变 量,1.变 量,1)标识符,(1)常规标识符,(2)分隔标识符,2)变量的分类,(1)全局变量,(2)局部变量,以ASCII字母、Unicode字母、下划线(_)、或#开头,可后续一个或若干个ASCII字符、Unicode字符、下划线(_)、美元符号($)、或#,但不能全为下划线(_)、或#。,5.1.3 变 量,2.局部变量的使用1)局部变量的定义与赋值(1)局部变量的定义,(2)局部变量的赋值,【例】:创建局

3、部变量var1、var2,并赋值,然后输出变量的值。,5.1.3 变 量,【例】:创建一个名为sex的局部变量,并在 SELECT 语句中使用该局部变量查找表XS中所有男同学的借书证号、姓名。,【例】:查询用于给 var1 赋值。在 XS 表中ID_number不存在,因此子查询不返回值,并将变量var1设为 NULL。,5.1.3 变 量,2)局部游标变量的定义与赋值(1)局部游标变量的定义,5.1.3 变 量,(3)游标变量的使用步骤,【例】:使用游标变量,5.2 运算符与表达式,1算术运算符,【例】:求读者的年龄,2.位运算符,5.2 运算符与表达式,【例】:在maste数据库中,建立表

4、bitop,并插入一行,然后将a字段和 b字段上的值进行位运算。,5.2 运算符与表达式,5.2 运算符与表达式,3.比较运算符,【例】:查询指定借书证号的学生在XS表中的信息。,5.2 运算符与表达式,4.逻辑运算符,5.2 运算符与表达式,1)ANY、SOME、ALL、IN的使用,【例】:查询借书数量最多的读者借书证号、姓名及借书数量,5.2 运算符与表达式,【例】:查询借书数量多于王娟借书数量的读者借书证号、姓名、借书数量。,5.2 运算符与表达式,2)BETWEEN的使用,【例】:查询借书数量不在 510本之间的借书证号、姓名及借书量,5.2 运算符与表达式,【例】:查询借书数量在 5

5、10本之间的借书证号、姓名及借书量,5.2 运算符与表达式,3)LIKE的使用,5.2 运算符与表达式,【例】:查询书名以“计算机”开头的书籍的有关信息,【例】:在如下的存储过程定义中,读者的借书证号作为入口参数,然后使用模式匹配查找某个学生借的全部书籍。,5.2 运算符与表达式,5.2 运算符与表达式,4)EXISTS与NOT EXISTS的使用,【例】:查询所有当前借了书的读者借书证号、姓名。,5.2 运算符与表达式,5.字符串联接运算符,【例】:多个字符串的联接。,6.一元运算,7.赋值运算符,指给局部变量赋值的SET和SELECT语句中使用的“=”。,5.2 运算符与表达式,8.运算符

6、的优先顺序,5.3 流程控制语句,5.3 流程控制语句,1、批处理:一个或多个相关SQL语句的集合,以GO为其结束标志。系统的程序发送和编译以批处理为一程序执行单元。如果其中任何一条语句出现语法错误,则整个批处理不能执行;而若个别语句只是执行错误(如违反约束),则该语句不能执行,其它语句仍正常执行。2、脚本:一个包含一个或多个批处理的程序文件(后缀为.sql)。我们可将创建、维护和使用数据库的有关操作步骤含有一个或多个批处理代码的模块存储为一个磁盘文件(文本格式)。脚本可在查询分析器中输入、编辑、保存或打开,并可通过islqw实用程序执行;亦可在DOS命令行中通过isql或osql实用程序来执

7、行。3、语句块:以BEGINEND作为一个结构,其中所包含的所有语句均将被视为一个独立的语句块,被系统当作一个整体单元来加以处理。,5.3.1 IF.ELSE语句,5.3.1 IF.ELSE语句,【例】:如果“数据库原理”这一书籍的价格高于平均价格,则显示:“数据库原理的价格高于平均价格”,否则显示“数据库原理的价格低于平均价格”。,5.3.2 GOTO、WHILE、BREAK、CONTINUE语句,2.WHILE循环语句,1.GOTO语句,5.3.2 GOTO、WHILE、BREAK、CONTINUE语句,【例】:显示字符串China中每个字符的 ASCII 值和字符。,5.3.3 RETU

8、RN语句,【例】:创建存储过程checkcount,根据书籍的ISBN检查其库存量,若库存量0,返回状态代码 1,否则返回状态代码 2。,5.3.3 RETURN语句,5.3.4 WAITFOR语句,【例】:语句设定在早上八点执行存储过程 Manager。,【例】:延时20秒后执行waitfor delay 00:00:20,5.4 系统内置函数,SQL Server包含如下几类标量函数:,1.数学函数,5.4 系统内置函数,【例】:下面程序返回给定角的 ACOS 值。,【例】:下面程序通过 RAND 函数产生随机值。,5.4 系统内置函数,2.字符串处理函数,【例】:返回书名最左边的 10

9、个字符。,5.4 系统内置函数,【例】:使用 LTRIM 字符删除字符变量中的起始空格,【例】:用 REPLACE实 现字符串的替换,5.4 系统内置函数,5.4 系统内置函数,【例】:下面程序用于查询ISBN号7-111-06359-7书籍的书名和库存量,3.系统函数,CASE 函数,5.4 系统内置函数,【例】:使用 CASE 函数对读者按性别分类。,5.4 系统内置函数,2)CAST 和 CONVERT函数,5.4 系统内置函数,【例】:下程序将检索库存量为3050的ISBN、书名,并将库存量转换为 char(20)。,5.4 系统内置函数,5.4 系统内置函数,5.4 系统内置函数,3

10、)COALESCE函数,4.日期时间函数,5.4 系统内置函数,5.4 系统内置函数,【例】:编写程序根据读者的出生时间,计算其年龄。,5.游标函数,5.4 系统内置函数,5.4 系统内置函数,【例】:用 FETCH_STATUS 控制在一个 WHILE 循环中的游标活动,5.4 系统内置函数,6.元数据函数,5.5 用户定义函数,根据用户定义函数返回值的类型,可将用户定义函数分为如下三类:,5.5.1 系统表sysobjects,5.5.2 用户函数的定义与调用,5.5.2 用户函数的定义与调用,函数与其引用对象(如数据库表)的绑定关系只有在发生以下两种情况之一时才被解除:,5.5.2 用户

11、函数的定义与调用,【例】:定义一函数,按性别计算当前所有读者的平均年龄。,5.5.2 用户函数的定义与调用,5.5.2 用户函数的定义与调用,2)标量函数的调用,(1)在SELECT语句中调用,5.5.2 用户函数的定义与调用,(2)利用EXEC语句执行,【例】:利用EXEC调用用户定义函数aver_age。,2.内嵌表值函数,5.5.2 用户函数的定义与调用,5.5.2 用户函数的定义与调用,【例】:对于XSBOOK数据库,若需要定义查询读者借阅历史的内嵌表值函数,如何实现?,5.5.2 用户函数的定义与调用,5.5.2 用户函数的定义与调用,2)内嵌表值函数的调用,【例】:调用fn_query()函数,查询借书证号为“10000001”读者的借阅历史,3.多语句表值函数,5.5.2 用户函数的定义与调用,【例】:在XSBOOK数据库中创建返回table的函数book_readers,通过以ISBN号为实参,调用该函数,查询该书的名称,当前借阅该书的所有读者的借书证号、姓名及索书号。,5.5.2 用户函数的定义与调用,5.5.2 用户函数的定义与调用,4.用户函数的建立,1)利用查询分析器创建用户定义函数,2)利用企业管理器创建用户定义函数,5.5.3 用户函数的删除,5.6 综合应用训练,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号