[计算机软件及应用]数据库之第八讲:Transact-SQL语言基础课件.ppt
- 【下载声明】
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 参数的一种参数的一种数据类型,这些参数包含对游标的引用。数据类型,这些参数包含对游标的
展开阅读全文