书签 分享 收藏 举报 版权申诉 / 88
上传文档赚钱

类型[计算机软件及应用]数据库之第八讲:Transact-SQL语言基础课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5102910
  • 上传时间:2023-02-11
  • 格式:PPT
  • 页数:88
  • 大小:546.52KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《[计算机软件及应用]数据库之第八讲:Transact-SQL语言基础课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    计算机软件及应用 计算机软件 应用 数据库 第八 Transact SQL 语言 基础 课件
    资源描述:

    1、1Transact-SQL语言基础语言基础主讲教师:陈志武主讲教师:陈志武EmailEmail:CHENYYJCHENYYJ163.COM163.COM第六讲2主要内容主要内容基本数据类型基本数据类型2常量与变量常量与变量3运算符与表达式运算符与表达式4流程控制语句流程控制语句5T-SQL语言简介语言简介13主要内容主要内容注释注释6函数函数74一、历史一、历史1、T-SQL语言简介语言简介1、T-SQL语言起源于语言起源于SQL(Structured Query Language)语言语言 SQL语言的历史:语言的历史:n 70年代年代:由由IBM公司开发出来的;公司开发出来的;1976年开

    2、始在商品化关系数据库年开始在商品化关系数据库系统中应用;系统中应用;n 1986:ANSI确认确认SQL为关系数据库语言的美国标准,为关系数据库语言的美国标准,1987年被年被ISO采纳为国际标准,采纳为国际标准,称为称为SQL-86;n 1989:ANSI发布了发布了SQL-89标准,后来被标准,后来被ISO采纳为国际标准;采纳为国际标准;n 1992:ANSI/ISO发布了发布了SQL-92标准,习惯称为标准,习惯称为SQL 2;1999年年:ANSI/ISO发布了发布了SQL-99标准,习惯称为标准,习惯称为SQL 3;n 2003:ANSI/ISO共同推出了共同推出了SQL 2003标

    3、准。标准。5一、历史一、历史1、T-SQL语言简介语言简介1、T-SQL语言起源于语言起源于SQL(Structured Query Language)语言语言 Transact-SQL语言是语言是Microsoft开发的一种开发的一种SQL语言,简称语言,简称T-SQL语语言。它不仅包含了言。它不仅包含了SQL-86和和SQL-92的大多数功能,而且还对的大多数功能,而且还对SQL进行了进行了一系列的扩展,增加了许多新特性,增强了可编程性和灵活性。一系列的扩展,增加了许多新特性,增强了可编程性和灵活性。Transact-SQL语言主要包括:语言主要包括:n 数据定义语句数据定义语句(Data

    4、 Definition Language,DDL)如对数据库对象的创建(如对数据库对象的创建(CREATE)、修改)、修改(ALTER)、)、删除语句(删除语句(DROP)等等6一、历史一、历史1、T-SQL语言简介语言简介1、T-SQL语言起源于语言起源于SQL(Structured Query Language)语言语言 数据操纵语句数据操纵语句(Data Manipulation Language,DML)用来查询(用来查询(SELECT)、添加()、添加(INSERT)、修改、修改(UPDATE)、删除(、删除(DELETE)、数据库中数据的语句)、数据库中数据的语句n 数据控制语句数

    5、据控制语句(Data Control Language,DCL)用来设置或更改用来设置或更改 数据库用户或角色的语句。数据库用户或角色的语句。7一、历史一、历史1、T-SQL语言简介语言简介1、T-SQL语言起源于语言起源于SQL(Structured Query Language)语言语言n一些附加的语言元素一些附加的语言元素如变量、函数、流程控制语句等,这些不是如变量、函数、流程控制语句等,这些不是SQL-92的的标准内容标准内容8二、标识符二、标识符2、标识符的分类:、标识符的分类:(1)常规标识符)常规标识符(2)分隔标识符)分隔标识符1、标识符的定义:、标识符的定义:标识符用于标识服

    6、务器、数据库、数据库对象、变量标识符用于标识服务器、数据库、数据库对象、变量等。等。1、T-SQL语言简介语言简介9二、标识符二、标识符1、T-SQL语言简介语言简介1.常规标识符常规标识符 指符合标识符格式规则的标识符。标识符的格式规则如下:指符合标识符格式规则的标识符。标识符的格式规则如下:n 长度不超过长度不超过128个字符。个字符。n 开头字母为开头字母为a-z或或A-Z、#、_ 或或 以及来自其它语言的字以及来自其它语言的字母字符。母字符。n 后续字符可以是后续字符可以是a-z、A-Z、来自其它语言的字母字符、数、来自其它语言的字母字符、数字、字、#、$、_、。n 不允许嵌入空格或其

    7、它特殊字符。不允许嵌入空格或其它特殊字符。n 不允许与不允许与保留字保留字同名。同名。10二、标识符二、标识符1、T-SQL语言简介语言简介2.分隔标识符分隔标识符 对于不符合格式规则的标识符,当用于对于不符合格式规则的标识符,当用于Transact-SQL语语句时,必须用句时,必须用双引号双引号或或方括号括方括号括起来。起来。例如:例如:SELECT*FROM My Table等价于等价于 SELECT*FROM My Table11二、标识符二、标识符1、T-SQL语言简介语言简介 对于常规标识符,可以加上双引号或方括号,也可以不对于常规标识符,可以加上双引号或方括号,也可以不加。加。【例

    8、如:【例如:SELECT*FROM authors该语句等价于该语句等价于 SELECT*FROM authors也等价于也等价于 SELECT*FROM authors12三、语句符号约定三、语句符号约定1、T-SQL语言简介语言简介符号 含 义 大写 关键字 斜体或中文参数,使用时需要替换成具体内容。|分隔括号或大括号内的语法项目,只能选一项 可选的语法项 必选的语法项 ,n 前面的项可重复n次,各项之间用逗号分隔。n 前面的项可重复n次,各项之间用空格分隔。语法块的名称。用于对过长语法或语法单元部分进行标记。:=对语法中指定位置进行进一步的定义。13三、语句符号约定三、语句符号约定1、T

    9、-SQL语言简介语言简介例如,例如,SELECT子句的语法如下:子句的语法如下:SELECT ALL|DISTINCT TOP n PERCENT WITH TIES 其中,其中,语法块进一步定义如下:语法块进一步定义如下::=*|表名表名|视图名视图名|表别名表别名.*|列名列名|表达式表达式|IDENTITYCOL|ROWGUIDCOL AS 列别名列别名|列别名列别名=表达式表达式 ,.n 142、基本数据类型、基本数据类型 使用使用SQL Server创建数据库中的表时,要对表中的每一创建数据库中的表时,要对表中的每一列定义一种数据类型,数据类型决定了表中的某一列可以存列定义一种数据类

    10、型,数据类型决定了表中的某一列可以存放什么数据。除了定义表需要指定数据类型外,使用视图、放什么数据。除了定义表需要指定数据类型外,使用视图、存储过程、变量、函数等都需要用到数据类型。存储过程、变量、函数等都需要用到数据类型。SQL Server提供了丰富的系统定义的数据类型,用户还提供了丰富的系统定义的数据类型,用户还可以在此基础上自己定义数据类型。可以在此基础上自己定义数据类型。152、数据类型、数据类型1.bigint类型类型 存储大小存储大小:8个字节,取值范围个字节,取值范围:-263263-12.int类型类型 存储大小存储大小:4个字节,取值范围个字节,取值范围:-231231-1

    11、3.smallint类型类型 存储大小存储大小:2个字节,取值范围个字节,取值范围:-215215-14.tinyint类型类型 存储大小存储大小:1个字节,取值范围个字节,取值范围:0255一、整形数据类型一、整形数据类型162、数据类型、数据类型二、定点数据数据类型二、定点数据数据类型 定点数据类型用于表示定点实数,包括定点数据类型用于表示定点实数,包括numeric和和decimal类型。类型。Numeric等价于等价于decimal。格式:格式:decimal(p,s)a numeric(p,s)b说明说明:n p:表示精度,指定小数点左边和右边十进制数字的最大位表示精度,指定小数点左

    12、边和右边十进制数字的最大位数,取值在数,取值在1到到38之间,缺省值为之间,缺省值为18;n s:指定小数点右边十进数的最大位数,取值在指定小数点右边十进数的最大位数,取值在0到到p之间,之间,缺省值为缺省值为0。n 表示范围表示范围:-1038+11038-1172、数据类型、数据类型三、浮点数据类型三、浮点数据类型尾数位数n精度存储字节数1247位42553或省略15位8n 表示范围表示范围:-1.79E+3081.79E+3081.float类型类型格式格式:float(n)说明说明:n n:尾数的位数,具体如下表:尾数的位数,具体如下表:182、数据类型、数据类型三、浮点数据三、浮点数

    13、据2.real类型类型 存储大小存储大小:4个字节个字节 取值范围取值范围:-3.40E+383.40E+38 精度精度:7位位 在在SQL Server中,中,real的同义词为的同义词为float(24)。192、数据类型、数据类型四、字符型数据四、字符型数据n 分为分为UnicodeUnicode字符数据类型和非字符数据类型和非UnicodeUnicode字符数据类型字符数据类型.非非UnicodeUnicode字符数据类型字符数据类型:允许使用由特定字符集定义的字符。字符允许使用由特定字符集定义的字符。字符集在安装集在安装SQL ServerSQL Server时选择,不能更改。时选择

    14、,不能更改。非非UnicodeUnicode字符数据类型字符数据类型:char:char、varcharvarchar和和texttext。UnicodeUnicode字符数据类型字符数据类型:可存储由可存储由UnicodeUnicode标准定义的任何字符,包标准定义的任何字符,包含由不同字符集定义的所有字符。需要相当于非含由不同字符集定义的所有字符。需要相当于非UnicodeUnicode数据类型两数据类型两倍的存储空间。倍的存储空间。UnicodeUnicode字符数据数据类型包括字符数据数据类型包括:nchar:nchar、nvarcharnvarchar和和ntextntext。对于存

    15、。对于存储来源于多种字符集的字符的列,可采用这些数据类型。储来源于多种字符集的字符的列,可采用这些数据类型。202、数据类型、数据类型四、字符型数据四、字符型数据1.char类型类型格式格式:char(n)功能功能:定义长度为定义长度为n个字节的固定长度非个字节的固定长度非Unicode字符数据,每个字符占字符数据,每个字符占一个字节。一个字节。说明说明:n:18000 存储大小存储大小:n个字节(个字节(n个字符)个字符)2.varchar类型类型格式格式:varchar(n)功能功能:定义长度定义长度最多最多为为n个字节的可变长度非个字节的可变长度非Unicode字符数据字符数据,每个字符

    16、每个字符占一个字节。占一个字节。说明说明:n:18000。存储大小存储大小:输入字符的实际长度。长度可为零输入字符的实际长度。长度可为零212、数据类型、数据类型四、字符型数据四、字符型数据3.nchar类型类型格式格式:nchar(n)功能功能:定义包含定义包含n个字符的固定长度个字符的固定长度Unicode字符数据字符数据说明说明:n:14000 存储大小存储大小:2n个字节个字节4.nvarchar类型类型格式格式:nvarchar(n)功能功能:定义包含最多定义包含最多n个字符的可变长度个字符的可变长度Unicode字符数据字符数据说明说明:n:14000。存储大小存储大小:所输入的字

    17、符实际个数的两倍。长度可以为所输入的字符实际个数的两倍。长度可以为零。零。222、数据类型、数据类型四、字符型数据四、字符型数据5.text类型类型功能功能:用于存储大块的非用于存储大块的非Unicode字符,长度可变,字符最大字符,长度可变,字符最大长度长度 存储空间等于输入字符个数存储空间等于输入字符个数6.ntext类型类型功能功能:用于存储大块的用于存储大块的Unicode字符,长度可变,字符最大长字符,长度可变,字符最大长度度 存储空间等于输入字符个数的两倍存储空间等于输入字符个数的两倍12311231232、数据类型、数据类型五、日期与时间数据类型五、日期与时间数据类型 日期和时间

    18、数据类型用于存储日期和时间的结合体。包括日期和时间数据类型用于存储日期和时间的结合体。包括datetime和和smalldatetime两种类型。两种类型。1.datetime类型类型 存储大小存储大小:8个字节个字节 表示范围表示范围:1753年年1月月1日零时日零时9999年年12月月31日日23时时59分分59秒。秒。例例:01/01/98 23:59:59 2000-5-29 12:30:482.smalldatetime 存储大小存储大小:4个字节个字节 表示范围表示范围:1900年年1月月1日日2079年年6月月6日。日。例例:2000/05/08 12:35 2000-05-29

    19、 12:35 2000-05-29242、数据类型、数据类型六、六、图形(图形(image)数据类型)数据类型 image数据类型用于存储可变长度二进制数据,其长度界数据类型用于存储可变长度二进制数据,其长度界于于0到到231-1个字节之间。个字节之间。252、数据类型、数据类型七、七、货币货币数据类型数据类型 货币数据类型包括货币数据类型包括money和和smallmoney数据类型。货币数据类型。货币数据存储的精确度为四位小数数据存储的精确度为四位小数。1.money类型类型 存储大小存储大小:8个字节个字节 表示范围表示范围:-922,337,203,685,477.5808 +922,

    20、337,203,685,477.58072.smallmoney类型类型 存储大小存储大小:4个字节个字节 表示范围表示范围:-214,748.3648214,748.3647262、数据类型、数据类型八、八、位(位(bit)数据类型)数据类型 bit数据类型的取值只有数据类型的取值只有0和和1,如果一个表中有不多于,如果一个表中有不多于8个的个的bit列,这些列将作为一个字节存储。如果表中有列,这些列将作为一个字节存储。如果表中有9到到16个个bit列,这些列将作为两个字节存储。更多列的情况依列,这些列将作为两个字节存储。更多列的情况依此类推。此类推。272、数据类型、数据类型九、九、二进制

    21、数据类型二进制数据类型 二进制数据类型又可以分为二进制数据类型又可以分为binary和和varbinary类型。类型。1.binary类型类型 格式格式:binary(n)功能功能:定义固定长度的定义固定长度的n个字节二进制数据,当输个字节二进制数据,当输入的二进制数据长度小于入的二进制数据长度小于n时,余下部分填充时,余下部分填充0。说明说明:n:18000 282、数据类型、数据类型九、九、二进制数据类型二进制数据类型2.varbinary类型类型格式格式:varbinary(n)功能功能:定义定义n个字节可变长度二进制数据。个字节可变长度二进制数据。说明说明:n:18000存储大小存储大

    22、小:为实际输入数据长度加为实际输入数据长度加4个字节,而不是个字节,而不是n个字节。输入的数据长度可能为个字节。输入的数据长度可能为0字节。字节。如果在数据定义或变量定义语句中使用时没有指定如果在数据定义或变量定义语句中使用时没有指定n,则默认长度则默认长度n为为1。如果在。如果在CAST函数中使用时没有指函数中使用时没有指定定n,则默认长度,则默认长度n为为30。292、数据类型、数据类型十、十、其他其他数据类型数据类型1.timestamp类型类型(时间戳数据类型时间戳数据类型)存储大小存储大小:8个字节。个字节。时间戳类型的数据用于提供数据库范围内的惟一值,反时间戳类型的数据用于提供数据

    23、库范围内的惟一值,反映数据库中数据修改的相对顺序,相当于一个单调上升的计映数据库中数据修改的相对顺序,相当于一个单调上升的计数器。当表中的某列定义为数器。当表中的某列定义为timestamp类型时,在对表中类型时,在对表中某行进行修改或添加行时,相应某行进行修改或添加行时,相应timestamp类型列的值会类型列的值会自动被更新。自动被更新。302、数据类型、数据类型十、十、其他其他数据类型数据类型2.uniqueidentifier类型类型 用于存储一个用于存储一个16字节长的二进制数据,它是字节长的二进制数据,它是SQL Server根据计算机网络适配器和根据计算机网络适配器和CPU时钟产

    24、生的全局惟一标识符时钟产生的全局惟一标识符(Globally Unique Identifier,GUID),该数字可以通),该数字可以通过调用过调用SQL Server的的NEWID函数获得。函数获得。GUID是一个唯一的二进制数字,世界上的任何两台计是一个唯一的二进制数字,世界上的任何两台计算机都不会生成重复的算机都不会生成重复的GUID值。值。GUID主要用于在拥有多主要用于在拥有多个节点、多台计算机的网络中,分配必须具有唯一性的标识个节点、多台计算机的网络中,分配必须具有唯一性的标识符。符。312、数据类型、数据类型十、十、其他其他数据类型数据类型3.sql_variant类型类型 用

    25、于存储除用于存储除text、ntext、image、timestamp和和sql_variant外的其它任何合法的数据。外的其它任何合法的数据。4.table类型类型 用于存储对表或者视图处理后的结果集。这种新的数据用于存储对表或者视图处理后的结果集。这种新的数据类型使得用变量就可以存储一个表,从而使函数或过程返回类型使得用变量就可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。查询结果更加方便、快捷。5.cursor类型类型 cursor类型是变量或存储过程类型是变量或存储过程 的的OUTPUT 参数的一种参数的一种数据类型,这些参数包含对游标的引用。数据类型,这些参数包含对游标的

    26、引用。322、数据类型、数据类型十一、十一、用户自己定义的用户自己定义的数据类型数据类型333、常量与变量、常量与变量一、一、常量常量 常量也称为标量值,是表示一个特定数据值的符号。常常量也称为标量值,是表示一个特定数据值的符号。常量的格式取决于它所表示的值的数据类型。量的格式取决于它所表示的值的数据类型。1.普通普通字符串常量字符串常量 字符串常量用单引号括起来。如果要在字符串中包含单字符串常量用单引号括起来。如果要在字符串中包含单引号,则可以使用连续的两个单引号来表示。例如:引号,则可以使用连续的两个单引号来表示。例如:Chinese Process X is 50%complete.Th

    27、e level for job_id:%d should be between%d and%d.(空字符串空字符串)Iam a student343、常量与变量、常量与变量一、一、常量常量 2、Unicode 字符串常量字符串常量对于对于Unicode字符串的格式,需要在前面加一个字符串的格式,需要在前面加一个N标标识符,识符,N前缀必须是大写字母。例如前缀必须是大写字母。例如:Michl是字符串常量是字符串常量 NMichl是是Unicode字符字符常量常量 Unicode常量被解释为常量被解释为Unicode数据。数据。Unicode 数据中数据中的每个字符都使用两个字节进行存储,而普通字

    28、符数据中的的每个字符都使用两个字节进行存储,而普通字符数据中的每个字符则使用一个字节进行存储。每个字符则使用一个字节进行存储。353、常量与变量、常量与变量一、一、常量常量3.二进制数常量二进制数常量 二进制常量使用二进制常量使用0 x作为前辍,后面跟随十六进制数字字作为前辍,后面跟随十六进制数字字符串。例如:符串。例如:0 xAE 0 x12Ef 0 x69048AEFDD010E 0 x(空二进制常量)(空二进制常量)363、常量与变量、常量与变量一、一、常量常量4.bit常量常量 bit常量使用数字常量使用数字0或或1表示。如果使用一个大于表示。如果使用一个大于1的数字,的数字,它将被转

    29、换为它将被转换为1。5.datetime常量常量 datetime常量使用单引号括起来的特定格式的字符日期常量使用单引号括起来的特定格式的字符日期值表示。例如值表示。例如:April 15,1998 15 April,1998 980415 04/15/98 14:30:24 04:24 PM373、常量与变量、常量与变量一、一、常量常量6.整型常量整型常量 由正、负号和数字由正、负号和数字09组成,正号可以省略。组成,正号可以省略。例如例如:1894 2 +145345234 -21474836487.decimal常量常量 由正、负号、小数点、数字由正、负号、小数点、数字09组成,正号可以

    30、省略。组成,正号可以省略。例如例如:1894.1204 2.0 +145345234.2234 -2147483648.10383、常量与变量、常量与变量一、一、常量常量8.float和和real常量常量 使用科学记数法表示。使用科学记数法表示。例如:例如:101.5E5 0.5E-2 +123E-3 -12E59.money常量常量 以可选小数点和可选货币符号作为前缀的一串数字。可以可选小数点和可选货币符号作为前缀的一串数字。可以带正、负号。以带正、负号。例如:例如:$12$542023.14 -$45.56 +$423456.99393、常量与变量、常量与变量二、变量二、变量 变量是可以保

    31、存特定类型的单个数据值的对象,变量是可以保存特定类型的单个数据值的对象,SQL Server的变量分为两种:用户自己定义的局部变量和系统的变量分为两种:用户自己定义的局部变量和系统提供的全局变量提供的全局变量。1、局部变量、局部变量 局部变量的作用范围仅限制在程序的内部。常用来局部变量的作用范围仅限制在程序的内部。常用来保存临时数据。例如,可以使用局部变量保存表达式的计保存临时数据。例如,可以使用局部变量保存表达式的计算结果,作为计数器保存循环执行的次数,或者用来保存算结果,作为计数器保存循环执行的次数,或者用来保存由存储过程返回的数据值。由存储过程返回的数据值。403、常量与变量、常量与变量

    32、二、变量二、变量1.局部变量的定义局部变量的定义格式格式:DECLARE 局部变量名局部变量名 数据类型数据类型,n说明说明:局部变量名局部变量名:必须以必须以开头,符合标识符的命名规则开头,符合标识符的命名规则数据类型数据类型:系统定义的数据类型系统定义的数据类型;用户定义数据类型。用户定义数据类型。不能是不能是text、ntext或或image数据类型。数据类型。局部变量定义后初始值为局部变量定义后初始值为NULL。413、常量与变量、常量与变量二、变量二、变量1.局部变量的定义局部变量的定义【例【例】定义变量】定义变量MyCounter为为int类型:类型:DECLARE MyCount

    33、er int【例【例】定义变量】定义变量LastName为为nvarchar(30)类型,定义类型,定义变量变量FirstName为为nvarchar(20)类型,定义变量类型,定义变量State为为nchar(2)类型:类型:DECLARE LastName nvarchar(30),FirstName nvarchar(20),State nchar(2)423、常量与变量、常量与变量二、变量二、变量2.局部变量的赋值局部变量的赋值(1)用)用SET语句给局部变量赋值语句给局部变量赋值 格式格式:SET 局部变量名局部变量名=表达式表达式【例【例4-6】定义局部变量】定义局部变量myvar

    34、,并为其赋值,最后显示,并为其赋值,最后显示myvar的值。的值。DECLARE myvar char(20)SET myvar=This is a test -用用SET赋值赋值 PRINT myvar -用用PRINT语句显示语句显示433、常量与变量、常量与变量二、变量二、变量(2)用)用SELECT语句给局部变量赋值:语句给局部变量赋值:格式格式:SELECT 局部变量名局部变量名=表达式表达式,n【例【例4-7】定义局部变量】定义局部变量myvar1和和myvar2,并为它们,并为它们赋值,最后显示赋值,最后显示myvar1和和myvar2的值的值:DECLARE myvar1 ch

    35、ar(20),myvar2 char(20)SELECT myvar1=Hello!,myvar2=How are you!-用用SELECT赋值赋值 SELECT myvar1,myvar2 -用用SELECT显示显示443、常量与变量、常量与变量二、变量二、变量 2、全、全局变量局变量是是SQL Server系统自带的变量,特点如下:系统自带的变量,特点如下:n全局变量不是由用户的程序定义的,它们是全局变量不是由用户的程序定义的,它们是SQL Server系统在服务器级定义的,作用范围是一个服务器内都有系统在服务器级定义的,作用范围是一个服务器内都有效。效。n全局变量通常用来存储一些配置设

    36、定值和统计数据。用全局变量通常用来存储一些配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值命令执行后的状态值。453、常量与变量、常量与变量二、变量二、变量n用户只能使用预先定义的全局变量,不能自己定义全局变用户只能使用预先定义的全局变量,不能自己定义全局变量量。n全局变量,必须以标记符全局变量,必须以标记符“”开头开头。n局部变量的名称不能与全局变量的名称相同,否则会出现局部变量的名称不能与全局变量的名称相同,否则会出现不可预测的结果不可预测的结果。n任何程序均可以随时引用全局变

    37、量任何程序均可以随时引用全局变量。例如例如:VERSION用于返回用于返回SQL Server当前安装的日期、版本和处理当前安装的日期、版本和处理器类型;器类型;CONNECTIONS用于返回自上次启动用于返回自上次启动SQL Server以来连以来连接或试图连接的次数;接或试图连接的次数;LANGUAGE用于返回当前使用的语言名用于返回当前使用的语言名464、运算符与表达式、运算符与表达式一、运算符一、运算符SQL Server运算符有以下几类:运算符有以下几类:n算术运算符算术运算符n字符串串联运算符字符串串联运算符n赋值运算符赋值运算符n关系运算符关系运算符n逻辑运算符逻辑运算符n位运算

    38、符位运算符n一元运算符一元运算符运算符:对常量或变量进行某种运算的符号;由运算符与变量运算符:对常量或变量进行某种运算的符号;由运算符与变量常量构成的式子称为表达式常量构成的式子称为表达式474、运算符与表达式、运算符与表达式一、运算符一、运算符1、算术运算符:、算术运算符:+、*、/、%(取余)(取余)%:用于返回一个整数除以另一个整数的余数。用于返回一个整数除以另一个整数的余数。例如例如:13%5=3484、运算符与表达式、运算符与表达式一、运算符一、运算符2、字符串串联运算符、字符串串联运算符:+作用作用:将两个字符串串联起来,构成字符串表达式。将两个字符串串联起来,构成字符串表达式。例

    39、如例如:abc+def 结果为结果为 abcdef 123+456 结果为结果为 123456494、运算符与表达式、运算符与表达式一、运算符一、运算符3、赋值运算符、赋值运算符:=例如例如:DECLARE MyCounter int SET MyCounter=1504、运算符与表达式、运算符与表达式一、运算符一、运算符4、关系运算符、关系运算符:=!=!作用作用:比较两个表达式的大小。比较两个表达式的大小。比较结果比较结果:布尔值布尔值TRUE、FALSE、UNKNOWNn TRUE:表示表达式的结果为真表示表达式的结果为真n FALSE:表示表达式的结果为假表示表达式的结果为假n UNK

    40、NOWN:当SET ANSI_NULLS为ON时,带有一个或两个NULL表达式的比较运算返回UNKNOWN。当SET ANSI_NULLS为OFF时,上述规则同样适用,但当两个表达式都为NULL时,返回结果为TRUE。例如,NULL=NULL返回TRUE。514、运算符与表达式、运算符与表达式一、运算符一、运算符5、逻辑运算符、逻辑运算符:NOT AND OR作用:作用:对具有布尔值的表达式进行运算。对具有布尔值的表达式进行运算。运算结果运算结果:TRUE、FALSE。n NOT:一元运算符,对布尔表达式的值取反一元运算符,对布尔表达式的值取反n AND:只有两个布尔表达式的值都为只有两个布尔

    41、表达式的值都为TRUE,运算结果才为,运算结果才为TRUE,否则结果为,否则结果为FALSE。n OR:如果两个布尔表达式中的一个为如果两个布尔表达式中的一个为TRUE,那么运算结,那么运算结果为果为TRUE。只有两个布尔表达式都为。只有两个布尔表达式都为FALSE,运算结果才,运算结果才为为FALSE。524、运算符与表达式、运算符与表达式一、运算符一、运算符例例:NOT(3 8)结果为结果为TRUE (3 8)AND(5 8)Or(5,=,=,!=,!,!(关系运算符)关系运算符)5.(位异或)、(位异或)、&(位与)、(位与)、|(位或)(位或)6.NOT7.AND8.ALL、ANY、B

    42、ETWEEN、IN、LIKE、OR、SOME9.=(赋值)(赋值)高高低低565、流程控制语句、流程控制语句 流程控制语句用于控制流程控制语句用于控制Transact-SQL语句、语句块语句、语句块和存储过程的执行流程。和存储过程的执行流程。如果不使用流程控制语句,则各如果不使用流程控制语句,则各Transact-SQL语句语句按其出现的先后顺序执行。使用流程控制语句可以按其出现的先后顺序执行。使用流程控制语句可以按需要控制语句的顺序。按需要控制语句的顺序。一、流程控制语句的作用一、流程控制语句的作用575、流程控制语句、流程控制语句一、一、BEGINEND语句语句 BEGINEND语句用于将

    43、多个语句用于将多个Transact-SQL语语句定义成一个语句块。语句块可以在程序中视为一句定义成一个语句块。语句块可以在程序中视为一个单元处理。个单元处理。BEGINEND语句的语法如下:语句的语法如下:BEGIN sql语句语句|语句块语句块 END 其中,其中,sql语句为一条语句为一条Transact-SQL语句;语句块语句;语句块为用为用BEGIN和和END定义的语句块。可以看出,在一定义的语句块。可以看出,在一个语句块中可以包含另一个语句块。个语句块中可以包含另一个语句块。585、流程控制语句、流程控制语句二、二、IFELSE语句语句IFELSE语句的语法如下:语句的语法如下:IF

    44、 布尔表达式布尔表达式 sql语句语句1|语句块语句块1 ELSE sql语句语句2|语句块语句块2 n 布尔表达式布尔表达式:返回返回TRUE或或FALSE的表达式;的表达式;n sql语句语句:一条一条Transact-SQL语句;语句;n 语句语句块块:用用BEGIN和和END定义的语句组。定义的语句组。功能功能:当布尔表达式的值为当布尔表达式的值为TRUE时,执行时,执行sql语句语句1或语句块或语句块1;当布尔;当布尔表达式的值为表达式的值为FALSE时,执行时,执行sql语句语句2或语句块或语句块2。如果省略。如果省略ELSE部分,部分,则表示当布尔表达式的值为则表示当布尔表达式的

    45、值为FALSE时不执行任何操作。时不执行任何操作。595、流程控制语句、流程控制语句二、二、IFELSE语句语句【例【例4-15】已知】已知pubs数据库的图书信息表数据库的图书信息表titles中,中,表示书价的列为表示书价的列为price,表示图书种类的列为,表示图书种类的列为type,表示书名的列为表示书名的列为title。编程序实现编程序实现:如果如果mod_cook类图书的平均价格大类图书的平均价格大于于$15,就显示文本,就显示文本:Average title price is more than$15;否则给出提示否则给出提示“The following titles are e

    46、xcellent mod_cook books:”并列出相应的书名并列出相应的书名。605、流程控制语句、流程控制语句二、二、IFELSE语句语句代码如下:代码如下:USE pubsIF(SELECT AVG(price)FROM titles WHERE type=mod_cook)$15 BEGIN PRINT The following titles are excellent mod_cook books:PRINT SELECT title FROM titles WHERE type=mod_cook ENDELSE PRINT Average title price is mor

    47、e than$15.615、流程控制语句、流程控制语句三、三、CASE语句语句1.简单简单CASE语句语句 CASE 输入表达式输入表达式 WHEN when_表达式表达式 THEN 结果表达式结果表达式 .n ELSE 结果表达式结果表达式 END 功能功能:计算输入表达式的值计算输入表达式的值,依次与每个,依次与每个WHEN子句中的子句中的when_表达式表达式进行比较,直到发现第一个与输入表达式相等的表达式时,便返回该进行比较,直到发现第一个与输入表达式相等的表达式时,便返回该WHEN子句的子句的THEN后面所指定的结果表达式。如果不存在与输入表达后面所指定的结果表达式。如果不存在与输入

    48、表达式相等的式相等的when_表达式,则当指定表达式,则当指定ELSE子句时将返回子句时将返回ELSE字句指定的字句指定的结果表达式,若没有指定结果表达式,若没有指定ELSE子句,则返回子句,则返回NULL值值。625、流程控制语句、流程控制语句三、三、CASE语句语句【例【例4-16】将】将pubs数据库中的图书信息表(数据库中的图书信息表(titles)中的各种图书类型)中的各种图书类型(type列)显示为全称。列)显示为全称。USE pubsSELECT title,tpye=CASE type WHEN popular_comp THEN Popular Computing WHEN

    49、mod_cook THEN Modern Cooking WHEN business THEN Business WHEN psychology THEN Psychology WHEN trad_cook THEN Traditional Cooking ELSE Not yet categorized END,priceFROM titles635、流程控制语句、流程控制语句三、三、CASE语句语句2.CASE搜索语句搜索语句 CASE WHEN 布尔表达式布尔表达式 THEN 结果表达式结果表达式 .n ELSE 结果表达式结果表达式 END 功能功能:依次计算每个依次计算每个WHEN子

    50、句中的布尔表达式,返回第一子句中的布尔表达式,返回第一个值为个值为TRUE的布尔表达式之后对应的的结果表达式值。如的布尔表达式之后对应的的结果表达式值。如果每一个果每一个WHEN子句之后的布尔表达式为都不为子句之后的布尔表达式为都不为TRUE,则,则当指定当指定ELSE子句时,返回子句时,返回ELSE子句中的结果表达式的值,子句中的结果表达式的值,若没有指定若没有指定ELSE子句,则返回子句,则返回NULL值。值。645、流程控制语句、流程控制语句三、三、CASE语句语句【例【例4-17】对】对pubs数据库中的各种价位的图书给予不同的提示。数据库中的各种价位的图书给予不同的提示。USE pu

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:[计算机软件及应用]数据库之第八讲:Transact-SQL语言基础课件.ppt
    链接地址:https://www.163wenku.com/p-5102910.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库