SQL编程篇

这是以前的学习总结:

这一周将SQL编程篇仔细地看了一遍,有不少感触,因为SQL Server 中的T-SQL语言,在某种程度上就类似C等编程语言,其中有基本运算、控制语句及函数还有一个叫存储过程的东东。但目前对他们在具体问题中如何应用还很模糊。

现在只是将SQL语言的大部分语法知识了解了一下,真正地掌握还是要自己编程应用时,不断的思考和回头在学习,对其有整体的了解很重要,我寒假看查询部分时,感觉很多都不是很明白,就别说其他的什么存储过程之类的,但现在回头再看就完全不一样了。很多东西都不像第一次看时不懂的情景。

我现在正在做类似酷狗的播放器,其中采用C/S 模式,客户端采用类似酷狗播放器的形式,用Access存储歌曲列表的信息,保证下次打开时歌曲列表中仍有歌曲存在,列表中存储歌曲名及歌曲在本地的存储路径。这样点击一首歌时,直接从数据库中获得存储歌曲的路径,就可以快速播放歌曲。另一方面,还可以通过网络接口访问远程数据库的信息,这和酷狗访问网络一样,我将远程数据库中的歌曲路径及歌名采用SQL Server 存储,然后设计服务器端管理歌曲程序,可以添加新歌曲等。

目前我正在做客户端的程序,对Access的访问采用ADO技术,上次我将其分装在一个类中,这几次我基本上都直接将其文件夹进来,没有做任何修改,只是数据库名变了,现在我才体会到了程序复用性的好处。

下面是界面截图:

sql server机器学习服务与语言扩展需要安装吗_运算符

关于音乐播放器,请参见我的博客《一个VC写的音乐播放器》

下面将T-SQL编程学到的东西总结如下:

T-SQL 是微软对标准SQL的扩充,在T-SQL中实现了添加变量、运算符、函数、注释和控制流程等。

1.加入注释
加入单行注释用”--“;
加入多行注释用”/*注释内容*/
2.T-SQL运算符
2.1算术运算符:+、-、*、/、%;
2.2赋值:=;
2.3位运算符:&、|、^;
2.4比较运算符
=、>、<、>=、<=、<>(不等于)、!=、!<、!>;
2.5逻辑运算符
ALL,AND,ANY,BETWEEN,EXISTS,IN,LIKE,NOT,OR,SOME;
2.6字符串连接运算符”+”;
3. T-SQL中的常量和变量
3.1常量
如:“1111”、5、$10(货币类型)
3.2变量
A.局部变量的定义
DECLARE@_name类型
如:DECLARE@ageint
B.给变量赋值
SET@age=20
或 SELECT @age=20
C.显示输出
PRINT@age
*****系统也提供了很多全局变量,如@SERVERNAME返回SQLServer本地服务器名称。
4.流程控制语句
4.1BEGIN…END
用来标记一个程序块的开始和结束。
4.2IF…ELSE
和C语言一样
例子:DECLARE @xreal,@yreal,@zreal
SELECT@x=9,@y=5
IF@y<>0
BEGIN
SELECT@z=@x/@y
PRINT‘结果为:’+CAST(@z AS char)
END
ELSE
PRINT‘除数不能为0’
4.3WHILE
例子:
DECLARE @Xint,@sint
SELECT @X=1,@s=0
WHILE @X<=100
BEGIN
SELECT@s=@s+@x
SELECT@X=@X+1
END
PRINT‘结果为:’+CAST(@s AS CHAR)
4.4BREAK
/
DECLARE @x int
SELECT @x=1
WHILE @x<=10
BEGIN
IF@x=5
BREAK
ELSE
PRINTCAST(@x AS CHAR)
SELECT@x=@x+1
END
4.5CONTINUE
//
DECLARE @x int
SELECT @x=0
WHILE @x<=5
BEGIN
SELECT@x=@x+1
IF@X%2=0
CONTINUE
PRINTCAST(@x AS char)
END
4.6WAITFOR
指定在一段时间后执行下一个T-SQL语句
如:WAITFORDELAY’01:00:00’
4.7CASE
CASE 语句就是一个条件判断语句
例子:
SELECT
CASE
WHEN学生成绩>=85THEN‘优秀’
WHEN学生成绩>=60AND学生成绩<85THEN‘中等’
WHEN学生成绩<60THEN‘不及格’
END
FROM学生信息表