Transact.doc_第1页
Transact.doc_第2页
Transact.doc_第3页
Transact.doc_第4页
Transact.doc_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

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

文档简介

Transact-SQL语言编程编程基础知识一、Transact-SQL的语法规则大写:Transact-SQL关键字斜体或小写字母:由用户提供的参数|(竖线):分隔括号或大括号内的语法项目。只能选择一个(方括号):可选语法项目。不必输入方括号(大括号):必选语法项。不输入大括号()(小括号):语句的组成部分。必须输入,n:表示前面的项可重复n次。每一项由逗号分隔n:同上类似。每一项由空格分隔加粗:对象名:=:语法块的名称。二、引用数据库对象名的规则服务器名.数据库名.所有者名.对象名三、Transact-SQL的语法元素标识符、数据类型、函数、表达式、运算符、注释、保留关键字1、标识符:用来标识服务器、数据库和数据库对象的名称。SQL Server 的标识符有两类:常规标识符和分隔标识符。(1)第一个字符必须是下列字符之一:字母az或AZ,下划线、#;其他字符可以是字母、数字、$、#或下划线;(2)T-SQL的保留字(见3)不能用来做标识符。(3)标识符中也不允许有空格。(4)标识符的字符长度不能超过128个字符,临时表标识符长度不应超过116个字符。2、数据类型:见第六章3、函数:与其它程序设计语言中的函数相似,它可以有0个、1个或多个参数,并返回一个值或值的集合。4、表达式:SQL Server 可解析为单个值得语法单元,例如常量、返回单值的函数、列或变量的引用。5、运算符6、注释:在SQL Server中,有两种类型的注释字符:单行注释:使用两个连在一起的减号“- -”作为注释符;多行注释:使用“/* */”作为注释符。 7、保留关键字:保留下来由SQL SERVER使用的词。常用函数SQL Server 提供的函数分为以下几类:聚合函数、配置函数、游标函数、日期函数、数学函数、元数函数、行集函数、安全函数、字符串函数、系统函数、文本与图像函数。1 聚合函数(统计函数) :对一组值进行计算并返回一个数值。Sum、 min、 max、 count、 avgselect count(distinct stuno) from stucou2 字符串函数:用于对字符串进行连接、截取等操作。ASCII(字符表达式):返回字符表达式最左边字符的ASCII码。select ascii(a34)CHAR(整型表达式):将ASCII码转换成字符,ASCII码应在0255之间。select (char(49) select ascii(char(49)SPACE(整型表达式):将N个空格组成字符串select space(10)+abLen(字符表达式):返回字符表达式的字符个数,不计尾部的空格。select len(space(10)+:将字符串进行连接select len(space(10)+ab)Right(字符表达式,整型表达式):返回最右边的N个字符,N是整型表达式的值。 select right(abcdefghijklmn,4)Left:同上类似 select left(abcdefghijklmn,4)Substring(字符表达式,起始点,N):返回字符串表达式从“起始点”开始的N个字符。select substring(abcdefghijk,2,5)Str(浮点表达式,长度,小数):将浮点表达式转换为所给定长度的字符串,小数位有“小数”决定(长度包含小数点)select str(1234.5678,8,4)Ltrim(字符表达式):去掉字符表达式的前导空格Rtrim(字符表达式):去掉字符表达式的尾部空格Lower(字符表达式):将字符表达式的字母转换为小写字符Upper(字符表达式):将字符表达式的字母转换为大写字符。REVERSE(字符表达式):返回字符表达式的逆序。select reverse(abcde)CHARINDEX(字符表达式1,字符表达式2,开始位置):从开始位置查找表达式1在表达式2中的位置。REPLICATE(字符表达式,整型表达式):将字符表达式重复整数次。select replicate(,10)STUFF(字符表达式1,start, length,字符表达式2):表达式1中从start开始的length个字符替换成表达式23 日期和时间函数Getdate():返回服务器当前的系统日期和时间Year(日期):返回年份Month(日期):返回月份Day (日期):返回日DATEDIFF(日期元素,日期1,日期2):返回两个日期的差值(日期2-日期1),并转换成指定的日期元素的形式DATEADD(日期元素,数值,日期):将日期元素加上日期产生新的日期。DATENAME(日期元素,日期):返回指定日期的名字,返回字符串DATEPART(日期元素,日期):返回指定日期的一部分,用整数返回。常量和变量常量1、字符串常量:包含在单引号内。2、数值常量:整数、实数、货币常量3、日期常量:用单引号括起来: 19831231、1976/04/23、14:30:24、April 11,2007变量变量对应内存中一个存储空间,变量的值在程序运行过程中可以随时改变。一、局部变量:是用户在程序中定义的变量,一次只能保存一个值,它仅在定义的程序范围内有效。局部变量可以临时存储数值。局部变量名总是以符号开始,最长为128个字节1、 局部变量的定义 必须先用DECLARE命令定义后才可以使用。DECLAER 变量名 数据类型(长度) n 2、 局部变量的赋值方法 SET 局部变量 = 表达式 或者SELECT 局部变量 = 表达式 ,.n 说明:(1)set语句一次只能给一个局部变量赋值(2)select语句可同时给一个或多个变量赋值(3)引用局部变量时,局部变量总是以开始。例:declare i int,j int,c varchar(20) set i=50 set j=60 set c=数据库Select i=50,j=60,c= 数据库例1:计算两个整数之和(70、80)例2:从选课表中计算有多少名同学参加选课。二、全局变量以开头。存储的通常是一些SQL Server的配置设定值和统计数据运算符1、算术运算符算术运算符包括加(+)、减()、乘(*)、除(/)和取模(%) 2、一元运算符正(+) 负()按位取反()3、 比较运算符:比较运算符包括:等于(=)、大于()、大于或等于(=)、小于()、小于或等于(=)、不等于(或!=)、不小于(!)。 4、 逻辑运算符逻辑运算符包括与(AND)、或(OR)和非(NOT)等运算符。另,BETWEEN,EXISTS,IN,LIKE也属于逻辑运算符5、字符串连接运算符:+6、赋值运算符:=7、位运算符:位运算符包括按位与(&)、按位或(|)、按位异或()运算符的优先级 括号:();(位运算)、-(负号)、+(正号)乘、除、求模运算符:*,/,%;加减运算符:,;比较运算符:=,=,=,!=,!,!40 Update course set credit=credit+0.5ElseUpdate course set credit=credit-0.5go2、BEGINEND语句 Begin和and用来定义语句块,必须成对出现。把多个合成一个语句使用。BEGIN sql语句 | 语句块 END3、WHILECONTINUEBREAK语句(循环结构) WHILECONTINUEBREAK语句用于设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。其中,CONTINUE语句可以使程序跳过CONTINUE语句后面的语句,回到WHILE循环的第一行命令。BREAK语句则使程序完全跳出循环,结束WHILE语句的执行。 WHILE Boolean_expression sql_statement | statement_block BREAK sql_statement | statement_block CONTINUE 例1:计算1+2+3+100的和5、 GOTO语句:条件转移语句GOTO 标号例:示1+2+3+100的和Declare i int,sum intSelect i=1,sum=0B:if i100Select 1+2+3+100=,sumElse Goto Bend6、 RETURE:无条件退出7、 WAITFOR语句:等待WAITFOR TIME WAITFOR DELAY TIME8、 CASE表达式简单CASE语句的语法形式为:CASE 输入表达式 WHEN 简单表达式 THEN 结果表达式 .n ELSE else结果表达式END 执行过程:对于给定的输入表达式,如果等于简单表达式,则该case的结果为对应的结果表达式的值;若when后的简单表达式均不等于输入表达式,则case结果为else结果表达式的值。 例:(书本上)对课程进行分类统计,要求显示课程类别、课程名称,报名人数,并计算平均报名人数,按照类别和报名人数的升序排序。用CASE语句实现。Select 课程分类= case kind when 工程技术 then 工科类课程 when 人文 then 文科类课程 when 信息技术 then 信息类课程 when 管理 then 管理类课程 end,couname,willnumFrom courseOrder by kind,willnumCompute avg(willnum) by kindgo 另一种个是:CASE WHEN 逻辑表达式 THEN 结果表达式 .n ELSE else结果表达式END例:检索course表的课程名和报名人数,如果报名人数25人,开课,否则,停课思考题: 1、求1+2+3+n的和,使和不超过10002、计算N!(N=20)3、使用相应的流控语句实现三个数的大小比较,最后输出值最大的一个数1、declar

温馨提示

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

最新文档

评论

0/150

提交评论