TransactSQL语言.ppt
《TransactSQL语言.ppt》由会员分享,可在线阅读,更多相关《TransactSQL语言.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 Transact-SQL 语言3.1 SQL Server 编程工具3.2 SQL语言简介3.3 数据类型3.4 局部变量与全局变量3.5 运算符与优先级3.6 函数3.7 简单的SELECT 语句3.8 批处理与流程控制语句3.1 SQL Server 编程工具v查询分析器vOsql实用程序3.1 SQL Server 编程工具v启动查询分析器在启动查询分析器之前,用户必须先登录到服务器。两种方法:v开始程序Microsoft SQL Server“查询分析器”v企业管理器工具菜单“查询分析器”身份验证方法vWindows Nt方式vSQL Server 3.1 SQL Server
2、 编程工具v配置和使用查询分析器“工具”“选项” P39图33v使用3.2 SQL 语言简介vSQL语言是一种在关系数据库中定义、查询、操纵和控制数据的标准语言。vSQL92标准vTransactSQL3.3 数据类型SQL-Server 定义了定义了25种数据类型种数据类型二进制数据类型二进制数据类型数字数据类型数字数据类型字符数据类型字符数据类型unicodeunicode数据类型数据类型日期和时间数据类型日期和时间数据类型货币数据类型货币数据类型特殊数据类型:特殊数据类型:bit、timetamp、uniqueidentifer1.1.用户自定义数据类型用户自定义数据类型二进制数据类型v
3、binary固定长度的二进制数据,其最大长度为 8,000 个字节。vvarbinary可变长度的二进制数据,其最大长度为 8,000 个字节。vimage可变长度的二进制数据,其最大长度为 231 - 1 (2,147,483,647) 个字节。2. 数字数据数字数据1)精确整数vbigint从 -263 (-9223372036854775808) 到 263-1 (9223372036854775807) 的整型数据(所有数字)。vint从 -231 (-2,147,483,648) 到 231 - 1 (2,147,483,647) 的整型数据(所有数字)。vsmallint从 -21
4、5 (-32,768) 到 215 - 1 (32,767) 的整数数据。vtinyint从 0 到 255 的整数数据。2)精确小数vdecimal 从 -1038 +1 到 1038 1 的固定精度和小数位的数字数据。vnumeric 功能上等同于 decimal。3)近似小数vFloat 从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。vreal从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。3.字符串字符串vchar固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。vvarchar可变长度的非 Unicode 数据,
5、最长为 8,000 个字符。vtext可变长度的非 Unicode 数据,最大长度为 231 - 1 (2,147,483,647) 个字符。4. Unicode 字符串Unicode 含义:含义: 统一的字符编码标准,采用双字节对字符进行编码。统一的字符编码标准,采用双字节对字符进行编码。vnchar固定长度的 Unicode 数据,最大长度为 4,000 个字符。 vnvarchar可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。vntext可变长度 Unicod
6、e 数据,其最大长度为 230 - 15.日期和时间数据类型vdatetimev从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。vsmalldatetimev从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。设置时间格式的命令vSET DATEFORMAT format|format_var有效参数包括 mdy、dmy、ymd、ydm、myd 和 dym。美国英语默认值是 mdy。例: SET DATEFORMAT mdy GO DECLARE datevar dateti
7、me SET datevar = 12/31/98 SELECT datevar/*GO是结束符*/6.货币类型vmoneyv货币数据值介于 -263 (-922,337,203,685,477.5808) 与 263 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。vsmallmoneyv货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。7.特殊数据类型vbit 1 或 0 的整数数据。vTimetampvuniqueidentifier参见联机丛书8.用户自定义数据类型v创键:sp_a
8、ddtypev查看: sp_helpv重命名:sp_renamev删除: sp_droptypev举例3.4 局部变量与全局变量v局部变量一般在一个批处理中被声明、定义、赋值和引用,批处理结束后局部变量消失。利用局部变量还可以保存程序执行过程中的中间数据值,保存由存储过程返回的数据值等。1.局部变量1)定义: 必须先用DECLARE命令定义后才可以使用。 DECLAER local_variable data_type , local_variable data_type 2)局部变量的赋值方法: SET local_variable = expression ,local_variable
9、= expression 或者 SELECT local_variable = expression , local_variable = expression2.全局变量全局变量在整个SQL Server系统内使用,存储的通常是一些SQL Server的配置设定值和统计数据。在使用全局变量时应该注意以下几点:v全局变量不是由用户的程序定义的,全局变量是在服务器全局变量不是由用户的程序定义的,全局变量是在服务器级定义的。级定义的。v用户只能使用预先定义的全局变量。用户只能使用预先定义的全局变量。v引用全局变量时,必须以标记符引用全局变量时,必须以标记符“”开头。开头。v全局变量对用户来说是只读
10、的。全局变量对用户来说是只读的。v局部变量的名称不能与全局变量的名称相同,否则会在应局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。用程序中出现不可预测的结果。 3.局部变量和全局变量的显示vSELECT local_variable_namevSELECT variable_name3.5 运算符在SQL Server 2000中,运算符主要有以下几 类:v一元运算:+(正)、-(负)、(按位取反)v赋值运算符:=v算术运算符:+、-、*、/、%(模运算)v字符串连接运算符:+v比较运算符:=、=、=、()v逻辑运算符:and、or、not优先级3.6 函数字符
11、串函数日期和时间函数数学函数转换函数系统函数集合函数其它函数 1.字符串函数v字符串函数可以对二进制数据、字符串和表达式执行不同的运算,大多数字符串函数只能用于char和varchar数据类型以及明确转换成char和varchar的数据类型,少数几个字符串函数也可以用于binary和varbinary数据类型。此外,某些字符串函数还能够处理text、ntext、image数据类型的数据。 字符串函数分类:v基本字符串函数:UPPER、LOWER、SPACE、REPLICATE、STUFF、REVERSE、LTRIM、RTRIM。v字符串查找函数:CHARINDEX、PATINDEX。v长度和分
12、析函数:DATALENGTH、SUBSTRING、RIGHT。v转换函数:ASCH、CHAR、STR、SOUNDEX、DIFFERENCE。例1SELECT upper(Microsoft) SELECT Microsoft+ltrim( SQL SERVER)SELECT Rtrim(SQL SERVER )+2000SELECT substring( MICROSOFT SQL SEVER 2000,11,10)SELECT reverse (MICROSOFT)2日期和时间函数日期和时间函数v日期和时间函数用于对日期和时间数据进行各种不同的处理和运算,并返回一个字符串、数字值或日期和时间
13、值。v在SQL Server 2000中,日期和时间函数的类型如P55表3-7所示.函函 数数参参 数数DATEADD( datepart , number, date )DATEDIFF( datepart , date1 , date2 )DATENAME( datepart , date )DATEPART( datepart , date )DAY( date )GETDATE()MONTH( date )YEAR( date )例2:从从GETDATE函数返回的日期中提取月份数。函数返回的日期中提取月份数。SELECT DATEPART(month,GETDATE() AS Mont
14、h Number运行结果为: Month Number - 9 例例4:从日期从日期 03/12/2003 中返回月份数、天数和年份数。中返回月份数、天数和年份数。vSELECT MONTH(03/12/2003), DAY(03/12/2003),YEAR(03/12/2003)v运行结果为:运行结果为: - - - 3 12 20033.数学函数v数学函数用于对数字表达式进行数学运算并返回运算结果。数学函数可以对SQL Server提供的数字数据(decimal、integer、float、real、money、smallmoney、smallint 和 tinyint)进行处理。 例5:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TransactSQL 语言
限制150内