下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1SQL SERVER应用开发2补充章节 SQL编程及高级应用基础知识常量与变量运算符与表达式函数控制流语句游标3基础知识Transact-SQL语言基本对象标识符引用SQL Server对象注释4标识符用来定义服务器、数据库、数据库对象和变量等的名称根据其是否符合标识符的格式规则,可分为常规标识符分隔标识符5问题引入下面给出的标识符合法吗?学生信息表DB_SchoolnumberStudent TableSUM6常规标识符一般规则第一个字符必须是字母、下划线(_)、at符号()和数字标记(#)第一个字符后,标识符可以是字母、来自基本拉丁字母或其他国家/地区脚本的十进制数字、美元符号($)、下
2、划线(_)、at符号()和数字标记(#)标识符不能是Transact-SQL的保留字不允许嵌入空格或其他特殊字符常规标识符和分隔标识符包含的字符数必须在1128之间7常规标识符(续)具有特殊用途的标识符以 符号开始的标识符表示局部变量或参数以 双符号开始的标识符表示全局变量以数字标记#符号开始的标识符表示临时表或过程以数字标记#双符号开始的标识符表示全局临时对象8分隔标识符不符合标识符格式规则的可选择使用分隔符类型被引用的标识符用双引号(“”)分隔开。SELECT * FROM Blanks in Table Name括在括号中的标识符用方括号( )分隔。SELECT * FROM Blank
3、s In Table Name 9标识符命名原则标识符的命名原则使用短的名字尽量使用有意义的名字使用简单明了的命名约定使用能够区分出对象类型的标识符10批批处理是包括一个多个T-SQL语句的组,从应用程序一次性发送到SQL Server进行执行。SQL Server将批处理的语句编译为一个可执行单元,成为执行计划。执行计划中的语句每次执行一条11脚本脚本是存储在文件中的一系列T-SQL语句脚本可在Management Studio的查询窗口中执行12注释注释,也为称注解,是程序代码中不执行的文本字符串。使用注释对代码进行说明,可使程序代码更易于维护。注释通常用于记录程序名称、作者姓名和主要代码
4、更改的日期。注释可用于描述复杂计算或解释编程方法。USE StudentGOSELECT Sno, Sname, (Sage + 1 ) - 计算年龄FROM StudentGO示例SQL Server 支持两种类型的注释字符: -(双连字符)。这些注释字符可与要执行的代码处在同一行,也可另起一行。从双连字符开始到行尾均为注释。例:嵌于行内的注释语句:13注释(续)/* . */(正斜杠-星号对)。这些注释字符可与要执行的代码处在同一行,也可另起一行,甚至在可执行代码内。例:块注释语句/* 这部分代码检索Student表的所有行,并且显示加一岁后的年龄。 */USE StudentGOSELE
5、CT Sname, (Sage + 1)FROM productsGO示例14常量与变量常量也称为字面值或标量值,是表示一个特定数据值的符号。常量的值在程序运行过程中不会改变的。类型说明例如整型常量没有小数点和指数E60,25,-365实型常量decimal或numeric带小数点的常数,float或real带指数E的常数15.63,-200.25+123E-3,-12E5字符串常量单引号引起来学生双字节字符串前缀N必须是大写单引号引起来N学生日期型常量单引号()引起来6/5/03,19491001货币型常量精确数值型数据,前缀$380.215常量与变量(续)变量可分为局部变量和全局变量。局部
6、变量是用来存储单个指定数据类型数据值的对象全局变量是由系统提供且预先声明的用来保存SQL Server系统运行状态数据值的变量16SELECE无源查询无源SELECT语句是用来查询常量、变量、函数、表达式值的语句。语法格式SELECT 常量|变量|函数|表达式 as 别名,n所谓无源查询就是使用SELECT语句来查询不在表中的数据。无源查询实质上就是在客户机屏幕上显示出常量、变量或表达式的值。使用SELECT语句查看常量。例如:SELECT 我们正在上SQL Server应用开发课程示例17局部变量变量是由用户定义并可赋值的实体,有全局变量和局部变量两种。局部变量用DECLARE语句声明,声明
7、时它被初始化为NULL,并由SET语句或SELECT语句赋值,只能用在声明该变量的过程实体中,即使用范围是定义它的批处理、存储过程和触发器等。其名字由一个符号开始,变量名最大长度30。 定义: DECLARE 局部变量名 数据类型,n赋值: SET 局部变量名=表达式,n SELECT 变量名=值使用SELECT语句查询局部变量。declare 整型变量 int, s nvarchar(20)set 整型变量=40set s = 2008年欢迎您到北京 select 整型变量, sGO 示例18全局变量全局变量由SQL Server系统提供并赋值的变量,名字由符号开始。用户不能建立全局变量,也
8、不可能使用SET语句去修改全局变量的值。通常将全局变量的值赋给在局部变量,以便保存和处理。select version as 版本select language as 语言GO 示例19全局变量(续)名称说明connections返回当前到本服务器的连接的数目rowcount返回上一条T-SQL语句影响的数据行数error返回上一条T-SQL语句执行后的错误号procid返回当前存储过程的ID号remserver返回登录记录中远程服务器的名字spid返回当前服务器进程的ID标识version返回当前SQL Server服务器的版本和处理器类型language返回当前SQL Server服务器的
9、语言 SQL常用的全局变量表20运算符运算符是一种符号,用来指定要在一个或多个表达式中执行的操作。运算符的种类算术运算符赋值运算符按位运算符比较运算符字符串连接运算符逻辑运算符一元运算符21算术运算符用于数值型或变量间的算术运算包括:加()、减()、乘(*)、除(/)和取模() 日期整数字符串+字符串将两个或多个字符串合并或连接成一个字符串SELECT CAST(2006-1-1 AS smalldatetime)+100 ,我们 + 正在演示 AS 字符串连接示例22赋值运算符等号(=),它将表达式的值赋予变量 DECLARE MyCounter INTSET MyCounter=27%4P
10、RINT CONVERT(varchar(255),MyCounter)示例23按位运算符 对两个表达式进行位操作,这两个表达式可以是整型数据或者二进制数据 包括:按位与(&)按位或(|)按位异或()运算规则:转化成二进制数后进行按位运算DECLARE a INT,b INTSET a=5SET b=10SELECT a&b ASab,a|b AS a|b,ab AS ab示例24比较运算符 用来比较两个表达式,表达式可以是字符、数字或日期数据,并可用在查询的WHERE或HAVING子句中。包括:大于()、大于等于(=)、等于(=)、不等于()、小于()、小于等于(、=、=、!=、!和!比较运
11、算符按位运算符: (位异或)、& (位与)、| (位或)逻辑运算符:NOTANDALL、ANY、BETWEEN、IN、LIKE、OR、SOME赋值运算符:=29函数在Transact-SQL 编程语言中函数可分系统定义函数和用户定义函数。数学函数日期/时间函数聚合函数字符串函数系统函数自定义函数30日期/时间函数对日期和时间输入值执行操作,返回一个字符串、数字或日期和时间值。名称函数现在日期时间GETDATE()年YEAR(日期型表达式)月MONTH(日期型表达式)日DAY(日期型表达式)日期 部分DATEPART(格式串, 日期型表达式)日期 加DATEADD(格式串,数值,日期)日期 差D
12、ATEDIFF(格式串,日期1,日期2)日期部分缩写日期部分缩写yearyy, yyyyweekdaydwquarterqq, qHourhhmonthmm, mminutemi, n dayofyeardy, ysecondss, sdaydd, dmillisecondmsweekwk, ww31聚合函数聚合函数对一组值执行计算并返回单一的值。除COUNT函数之外,聚合函数忽略空值,聚合函数主要用于SELECT语句中GROUP BY子句。名称最大最小求和平均计数函数MAXMINSUMAVGCOUNT32字符串函数字符串函数对字符串输入值执行操作,返回一个字符串或数字值。名称函数ASCII码
13、ASCII(字符表达式)字符CHAR(数字表达式)字符NCHAR(数字表达式)小写LOWER(字符表达式)大写UPPER(字符表达式)长度LEN(字符表达式)空格SPACE(数字表达式)33字符串函数(续) 名称函数截取左字串LEFT(字符表达式,整数)截取右字串RIGHT(字符表达式,整数)截取中间字串SUBSTRING(字符表达式,起始点,n)求子串位置CHARINDEX(字符表达式1, 字符表达式2,开始位置)剪去左空格LTRIM(字符表达式)剪去右空格RTRIM(字符表达式)重复字串REPLICATE(字符表达式,n)倒置字串REVERSE(字符表达式)数值转字串STR(数字表达式)3
14、4系统函数转换函数一般情况下,SQL Server 会自动完成数据类型的转换,称为隐式转换。SQL Server 可将INTEGER 数据类型或表达式转换为SMALLINT数据类型或表达式如果不能确定SQL Server 是否能完成隐式转换或者使用了不能隐式转换的其它数据类型,使用数据类型转换函数做显式转换了35转换函数显示转换函数有两个 CAST() 语法 CAST ( AS length ) CONVERT() 语法 CONVERT ( length , , style)length用于指定数据的长度,缺省值为30data type必须是系统数据类型 练习假设创建一张表users,表中有用
15、户名userName、密码pwd和注册时间regDate三个列,其中userName和pwd均为字符型,regDate为日期时间型;要求pwd列的数据长度必须在六位以上,regDate有默认值为用户注册时的系统时间,考虑约束如何定义。3637控制流语句用于控制Transact-SQL语句、语句块和存储过程的执行流。BEGINENDIFELSECASEWHILEPRINT38BEGINEND用于将多个Transact-SQL语句组合成一个程序块,执行时作为一个整体被执行。语法:BEGIN 执行的SQL语句END常用情况:WHILE循环需要包含语句块。CASE函数的元素需要包含语句块。IF或ELS
16、E子句需要包含语句块。BEGIN DECLARE MyVar float SET MyVar = 123.456 BEGIN PRINT 变量MyVar的值为: PRINT CAST(MyVar AS varchar(12 ) ENDEND示例39IFELSE有条件地执行语句语法IF 条件表达式 SQL语句1ELSE SQL语句2USE StudentGOIF EXISTS(SELECT * FROM SC WHERE Sno=0811101) SELECT * FROM Student WHERE Sno=0811101ELSE BEGIN print 无此人 END示例40CASE简单CA
17、SE格式将某个表达式与一组简单表达式进行比较,以确定结果。语法:CASE 测试表达式WHEN 简单表达式0 THEN 结果表达式0, WHEN 简单表达式1 THEN 结果表达式1, .nELSE 结果表达式nENDDECLARE lb intSET lb=2SELECT 图书类别= CASE lb WHEN 1 THEN 程序设计 WHEN 2 THEN 数据库开发 WHEN 3 THEN 图形图像处理 WHEN 4 THEN 办公自动化 WHEN 5 THEN 网络管理 WHEN 6 THEN 计算机硬件 WHEN 7 THEN 计算机辅助设计 WHEN 8 THEN 其他 END示例41
18、CASE(续)搜索CASE格式计算一组布尔表达式,以确定结果。语法:CASE WHEN 条件表达式0 THEN 结果表达式0,.nELSE 结果表达式nENDSELECT Sno , Sname , CASE WHEN Sage=18 THEN 不大于18岁 WHEN Sage=25 THEN 大于18岁不大于25 ELSE 大于25 ENDFROM Student ORDER BY SnoGO示例42思考查询所有学生的考试情况,要求返回学号,姓名,课程名称及成绩。其中,如有某些学生没有考试的情况,则显示成绩信息为“缺考”。43WHILEWHILE语句的作用是为重复执行某一语句或语句块设置条件。语法WHILE 条件表达式 SQL语句 |复合语句说明BREAK、CONTINUE位于复合语句内,可选项BREAK跳出循环之后执行、CONTINUE转到循环开始之处执行DECLARE Result int ,n int SET n=0SET Result =0WHILE n=100BEGIN SET Result=R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车站综合布线安装合同
- 2024年销售化妆品的工作总结
- 先兆流产的护理措施
- 外科业务学习计划
- 初中生 物理最重要的十个实验实验步骤和分析
- 河南省郑州市(2024年-2025年小学六年级语文)人教版课后作业(上学期)试卷及答案
- 信息技术对学前教育教学活动及幼儿生活的影响
- 多发性硬化(MS)诊断标准
- 幼儿园4月的安全会议记录
- 乌镇文化管理
- 湖北省新中考语文现代文阅读技巧讲解与备考
- 幼儿园故事课件:《胸有成竹》
- 衣服破了我会补(导学案)-三年级上册劳动人教版
- (完整版)康复科管理制度
- 辽宁省沈阳市沈河区2023-2024学年数学四年级第一学期期末监测试题含答案
- 连云港市农商控股集团限公司2023年专业技术人员招聘上岸笔试历年难、易错点考题附带参考答案与详解
- 对越自卫反击战专题培训课件
- 人音版一年级上册《我有一只小羊羔》课件1
- 常用急救药品
- 内科主治医师讲义
- 小学生简笔画社团活动记录
评论
0/150
提交评论