第 3章 服务器管理
上一页
返回首页
下一页
第 3章 SQL 语言编程
3.1 编程基础知识
3.2 常用函数
3.3 常量和变量
3.4 运算符
3.5 常用的系统存储过程
3.6 流控语句
上一章
返回目录
第 3章 服务器管理
上一页
返回首页
下一页
3.1 编程基础知识
一、语法规则
二、引用数据库对象名的规则
三、语法元素
第 3章 服务器管理
上一页
返回首页
下一页
1、大写 关键字
2、注释
注释是程序代码中不执行的文本字符串
(也称为注解)。在 SQL Server中,可以使用
两种类型的注释字符:一种是 ANSI标准的注释
符,--”,它用于单行注释;另一种是与 C语言
相同的程序注释符号,即,/* */” 。
一、语法规则
第 3章 服务器管理
上一页
返回首页
下一页
一、聚合函数
二、字符串函数
三、日期函数
四、数学函数
五、其它函数
3.2 常用函数
第 3章 服务器管理
上一页
返回首页
下一页
一、聚合函数
聚合函数可以返回整个或者几个列
或者一个列的汇总数据, 它常用来计算
SELECT语句查询的统计值 。 聚合函数经
常与 SELECT 语句的 GROUP BY 子句一
同使用 。
第 3章 服务器管理
上一页
返回首页
下一页
1,SUM(列名)
2,MIN(列名)
3,MAX(列名)
4,COUNT( *|列名)
5,AVG(列名)
第 3章 服务器管理
上一页
返回首页
下一页
USE XK
GO
SELECT SUM(LimitNum) AS '限选人数的总人数‘,
MIN(WillNum) AS '最少报名人数 ',
MAX(WillNum) AS '最多报名人数 ',
AVG(WillNum) AS '平均报名人数 '
COUNT(*) AS 'Course表的总行数 '
FROM Course
GO
第 3章 服务器管理
上一页
返回首页
下一页
二、字符串函数
字符串函数可以对二进制数据、字符串和表
达式执行不同的运算,大多数字符串函数只能
用于 char和 varchar数据类型
第 3章 服务器管理
上一页
返回首页
下一页
1,ASCII (字符表达式)
返回最左边字符的 ASCII 码
2,CHAR (字符表达式)
将一个 ASCII 码转换成字符
3,LEN(字符表达式)
返回字符表达式的长度
4,RIGHT(字符表达式,n)
返回最右边的 n个字符
5,LEFT(字符表达式,n)
返回最左边的 n个字符
第 3章 服务器管理
上一页
返回首页
下一页
6,SUBSTRING(字符表达式,n1,n2)
返回字符串中从 n1开始的 n2个字符
7,LOWER(字符表达式)转换成小写字母
8,UPPER(字符表达式)转换成大写字母
9,REVERSE(字符表达式)返回字符串表达式逆序
10,CHARINDEX(字符表达式 1,字符表达式 2,[ n])
返回字符表达式 1在字符表达式 2中的位置
11,STUFF(字符表达式 1,n1,n2,字符表达式 2 )
用字符表达式 1在字符表达式 2中 n1开始的 n2
长度个字符
第 3章 服务器管理
上一页
返回首页
下一页
SELECT ASCII('Alklk')
SELECT CHAR(66)
SELECT LEN('SQL Server 数据库管理系统 ')
SELECT RIGHT('ABCDEFG',5)
SELECT LEFT('ABCDEFG',5)
SELECT SUBSTRING('ABCDEFG',2,4)
SELECT LOWER('AbcdEFG')
SELECT UPPER('Abcdefg')
SELECT REVERSE('ABCDEFG')
SELECT CHARINDEX('数据库 ','大型数据库技术 ')
SELECT STUFF('ABCDEFG',2,4,'1234')
第 3章 服务器管理
上一页
返回首页
下一页
三、日期函数
1,GETDATE( )返回系统日期
2,DATEPART(日期元素,日期)返回指定
日期的一部分,日期元素为年、月、日
3,YEAR(日期)返回年份
4,MONTH(日期)返回月份
5,DAY(日期)返回日期
第 3章 服务器管理
上一页
返回首页
下一页
SELECT GETDATE()
SELECT DATENAME(YEAR,GETDATE())
SELECT DATEPART(YEAR,GETDATE())
SELECT DATEPART(MONTH,GETDATE())
SELECT DATEPART(DAY,GETDATE())
第 3章 服务器管理
上一页
返回首页
下一页
四、数学函数
1,ABS()
2,CEILING()
3,FLOOR()
4,PI()
5,SQRT()
第 3章 服务器管理
上一页
返回首页
下一页
SELECT ABS(-10)
SELECT CEILING(134.393)
SELECT FLOOR(134.393)
SELECT PI( )
SELECT SQRT(8)
第 3章 服务器管理
上一页
返回首页
下一页
3.3 常量和变量
一、常量
二、变量
第 3章 服务器管理
上一页
返回首页
下一页
一、常量
程序运行过程中其值不变的量 。
1,数值常量
如,1987,1987.21
2,字符串常量 (包括在单引号内 )
‘SQL Server 2000数据库 ‘
3,日期常量 (包括在单引号内 )
’ 1976/04/23‘
第 3章 服务器管理
上一页
返回首页
下一页
二、变量
1、程序运行过程中其值不变的量。
2、分为局部变量和全局变量。
局部变量被引用时要在其名称前加上标志
“@”,而且必须先用 DECLARE命令定义后才可
以使用。
格式,DECLARE 变量名
第 3章 服务器管理
上一页
返回首页
下一页
全局变量不是由用户的程序定义的,它们是
在服务器级定义的。用户只能使用预先定义的
全局变量。引用全局变量时,必须以标记符
,@@” 开头。局部变量的名称不能与全局变量
的名称相同,否则会在应用程序中出现不可预
测的结果。
第 3章 服务器管理
上一页
返回首页
下一页
3.4 运算符
一、算术运算符
二、赋值运算符
三、位运算符
四、比较运算符
五、逻辑运算符
六、字符串串联运算符
第 3章 服务器管理
上一页
返回首页
下一页
一、算术运算符
算术运算符可以在两个表达式上执行数学运
算,这两个表达式可以是数字数据类型分类的
任何数据类型。算术运算符包括加( +)、减
( — )、乘( *)、除( /)和取模( %)。
第 3章 服务器管理
上一页
返回首页
下一页
二、赋值运算符
Transact-SQL 中只有一个赋值运算符, 即
等号 ( =) 。 赋值运算符使我们能够将数据值指
派给特定的对象 。 另外, 还可以使用赋值运算
符在列标题和为列定义值的表达式之间建立关
系 。
第 3章 服务器管理
上一页
返回首页
下一页
三、位运算符
位运算符使我们能够在整型数据或者二进制
数据( image 数据类型除外)之间执行位操作。
此外,在位运算符左右两侧的操作数不能同时
是二进制数据。
第 3章 服务器管理
上一页
返回首页
下一页
四、比较运算符
比较运算符用于比较两个表达式的大小或是
否相同,其比较的结果是布尔值,即 TRUE(表
示表达式的结果为真),FALSE(表示表达式的
结果为假)以及 UNKNOWN。除了 text,ntext
或 image 数据类型的表达式外,比较运算符可
以用于所有的表达式。
第 3章 服务器管理
上一页
返回首页
下一页
五,逻辑运算符
逻辑运算符可以把多个逻辑表达式连接
起来。逻辑运算符包括 AND,OR和 NOT等运
算符。逻辑运算符和比较运算符一样,返
回带有 TRUE 或 FALSE 值的布尔数据类型。
第 3章 服务器管理
上一页
返回首页
下一页
六、字符串串联运算符
字符串串联运算符允许通过加号 (+) 进行
字符串串联, 这个加号即被称为字符串串联运
算符 。
例如对于语句 SELECT ‘abc’+’def’, 其
结果为 abcdef。
第 3章 服务器管理
上一页
返回首页
下一页
运算符的优先等级从高到低如下所示
括号,( ) ;
乘, 除, 求模运算符,*,/,%;
加减运算符,+,- ;
比较运算符,=, >, <, >=, <=,
<>,!=,!>,!<;
位运算符,^,&,|;
逻辑运算符,NOT;
逻辑运算符,AND;
逻辑运算符,OR。
第 3章 服务器管理
上一页
返回首页
下一页
3.5 常用的系统存储过程
第 3章 服务器管理
上一页
返回首页
下一页
3.6 流控语句
一、赋值语句
二,IF语句
三,BEGIN??END
四,WHILE,BREAK,COUTINUE
五,CASE
六,PRINT
第 3章 服务器管理
上一页
返回首页
下一页
一,赋值语句
1,SELECT 变量=表达式
一次可给多个变量 赋值,逗号分隔
2,SET 变量=表达式
一次只能给一个变量 赋值
第 3章 服务器管理
上一页
返回首页
下一页
二,IF语句
IF 逻辑表达式
语句组 1
[ ELSE
语句组 2 ]
语句组须要用 BEGIN…END 定义
第 3章 服务器管理
上一页
返回首页
下一页
三,BEGIN??END
在条件语句和循环等控制流程语句中,当符
合特定条件便要执行两个或者多个语句时,就
需要使用 BEGIN?END 语句
BEGIN
语句组
END
第 3章 服务器管理
上一页
返回首页
下一页
四,WHILE,BREAK,COUTINUE
WHILE 逻辑表达式
语句组
[ BREAK ]
[语句组]
[ CONTINUE ]
第 3章 服务器管理
上一页
返回首页
下一页
WHILE?CONTINUE?BREAK 语句用于设置重复
执行 SQL 语句或语句块的条件。只要指定的条
件为真,就重复执行语句。其中,CONTINUE语
句可以使程序跳过 CONTINUE语句后面的语句,
回到 WHILE循环的第一行命令。 BREAK语句则使
程序完全跳出循环,结束 WHILE语句的执行。
第 3章 服务器管理
上一页
返回首页
下一页
五,CASE
CASE 表达式
WHEN 表达式的值 THEN 结果表达式
END
CASE语句可以计算多个条件式,并将其中
一个符合条件的结果表达式返回。
第 3章 服务器管理
上一页
返回首页
下一页
六,PRINT
PRINT 表达式
在屏幕上显示用户的信息
第 3章 服务器管理
上一页
返回首页
下一页
例1,DECLARE @I INTEGER,@J
INTEGER,@SUM INTEGER
SET @I=50
SET @J=60
SET @SUM=@I+@J
PRINT @SUM
第 3章 服务器管理
上一页
返回首页
下一页
例2,DECLARE @I INT,@SUM INT
SET @I=1
SET @SUM=0
WHILE @I<=1000
BEGIN
SET @SUM=@SUM+@I
SET @I=@I+1
END
PRINT @SUM
第 3章 服务器管理
上一页
返回首页
下一页
例3,USE XK
GO
SELECT '课程分类 '=
CASE Kind
WHEN '工程技术 ' THEN '工科类课程 '
WHEN '人文 ' THEN '文科类课程 '
WHEN '信息技术 ' THEN '信息类课程 '
WHEN '外语 ' THEN '外语类课程 '
WHEN '其他 ' THEN '其他类课程 '
END,
CouName AS '课程名称 ',
'报名人数 '=WillNum
FROM Course
WHERE WillNum>15
ORDER BY Kind,WillNum
COMPUTE AVG(WillNum) BY Kind
GO
第 3章 服务器管理
上一页
返回首页
下一页
Thank you very much!






! 下一章