SQLServer第5章T-SQL语言.ppt_第1页
SQLServer第5章T-SQL语言.ppt_第2页
SQLServer第5章T-SQL语言.ppt_第3页
SQLServer第5章T-SQL语言.ppt_第4页
SQLServer第5章T-SQL语言.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

第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.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)局部变量的赋值,【例】:创建局部变量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数据库中,建立表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运算符与表达式,【例】:查询借书数量在510本之间的借书证号、姓名及借书量,5.2运算符与表达式,3)LIKE的使用,5.2运算符与表达式,【例】:查询书名以“计算机”开头的书籍的有关信息,【例】:在如下的存储过程定义中,读者的借书证号作为入口参数,然后使用模式匹配查找某个学生借的全部书籍。,5.2运算符与表达式,5.2运算符与表达式,4)EXISTS与NOTEXISTS的使用,【例】:查询所有当前借了书的读者借书证号、姓名。,5.2运算符与表达式,5.字符串联接运算符,【例】:多个字符串的联接。,6.一元运算,7.赋值运算符,指给局部变量赋值的SET和SELECT语句中使用的“=”。,5.2运算符与表达式,8.运算符的优先顺序,5.3流程控制语句,5.3流程控制语句,1、批处理:一个或多个相关SQL语句的集合,以GO为其结束标志。系统的程序发送和编译以批处理为一程序执行单元。如果其中任何一条语句出现语法错误,则整个批处理不能执行;而若个别语句只是执行错误(如违反约束),则该语句不能执行,其它语句仍正常执行。2、脚本:一个包含一个或多个批处理的程序文件(后缀为.sql)。我们可将创建、维护和使用数据库的有关操作步骤含有一个或多个批处理代码的模块存储为一个磁盘文件(文本格式)。脚本可在查询分析器中输入、编辑、保存或打开,并可通过islqw实用程序执行;亦可在DOS命令行中通过isql或osql实用程序来执行。3、语句块:以BEGINEND作为一个结构,其中所包含的所有语句均将被视为一个独立的语句块,被系统当作一个整体单元来加以处理。,5.3.1IF.ELSE语句,5.3.1IF.ELSE语句,【例】:如果“数据库原理”这一书籍的价格高于平均价格,则显示:“数据库原理的价格高于平均价格”,否则显示“数据库原理的价格低于平均价格”。,5.3.2GOTO、WHILE、BREAK、CONTINUE语句,2.WHILE循环语句,1.GOTO语句,5.3.2GOTO、WHILE、BREAK、CONTINUE语句,【例】:显示字符串China中每个字符的ASCII值和字符。,5.3.3RETURN语句,【例】:创建存储过程checkcount,根据书籍的ISBN检查其库存量,若库存量0,返回状态代码1,否则返回状态代码2。,5.3.3RETURN语句,5.3.4WAITFOR语句,【例】:语句设定在早上八点执行存储过程Manager。,【例】:延时20秒后执行waitfordelay00:00:20,5.4系统内置函数,SQLServer包含如下几类标量函数:,1.数学函数,5.4系统内置函数,【例】:下面程序返回给定角的ACOS值。,【例】:下面程序通过RAND函数产生随机值。,5.4系统内置函数,2.字符串处理函数,【例】:返回书名最左边的10个字符。,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)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用户函数的定义与调用,【例】:定义一函数,按性别计算当前所有读者的平均年龄。,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数据库中创建返回ta

温馨提示

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

评论

0/150

提交评论