SQL Server数据库项目6教学ppt课件.pptx
《SQL Server数据库项目6教学ppt课件.pptx》由会员分享,可在线阅读,更多相关《SQL Server数据库项目6教学ppt课件.pptx(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQL Server数据库项目6教学课件PART01项目1初识数据库PART02项目2SQL Server 2017的安装与使用PART03项目3数据库操作PART05项目5查询操作PART06项目6T-SQL语言PART07项目7视图操作目录CONTENTSPART04项目4数据表操作PART08项目8数据完整性PART09项目9存储过程PART10项目10触发器PART11项目11备份与恢复PART12项目12数据库安全PART06项目6T-SQL语言6.1 T-SQL语言基础6.2 使用函数6.3 使用流程控制语句6.4 使用游标6.5 事务控制语句任务6.1 T-SQL语言基础6.1
2、T-SQL语言基础【任【任务描述】描述】T-SQL是一门非过程化语言,在student数据库中,用户和应用程序都是通过T-SQL来操作数据库的。当要执行的任务不能由单一的SQL语句实现时,就要通过某种方式将多条SQL语句组织到一起,共同完成一项任务,即SQL编程。【任【任务分析】分析】对于T-SQL语言,我们要了解它能识别的字或字符、变量的定义方法以及语法规则。完成该任务需要学习以下几方面知识:(1)批处理、脚本和注释。(2)常量和变量。(3)运算符。6.1 T-SQL语言基础【任【任务实现】一、批一、批处理、脚本和注理、脚本和注释步步骤01:单击“新建查询”按钮进入查询编辑器,输入以下语句,
3、运行结果如图6-1所示。可见,几条SQL语句即可组构成了一个批处理程序,GO为批处理结束标志。USE student SELECT*from stu_table SELECT*from Cscore_table GO6.1 T-SQL语言基础步步骤02:右击查询编辑器顶部,在弹出的快捷菜单中选择“保存SQLQuery2.sql”,可以将SQL语句保存到一个文件中,如图6-2所示,扩展名为.SQL,即脚本。下次使用时可通过“文件”菜单打开。6.1 T-SQL语言基础步步骤03:打开文件。在“菜单栏”中依次选择“文件”|“打开”|“文件”,即可在弹出的对话框中选择要打开的SQL文件。6.1 T-S
4、QL语言基础二、常量和二、常量和变量量以下是变量声明及打印程序片段,运行结果如图6-4所示。其中Declare用于声明变量abc为整型变量;Set用于对变量赋值,此处将abc赋值为123;Print用于输出变量的值。Declare abc int -声明变量Set abc=123-为变量赋值Print abc -打印变量GO-运行到此截止6.1 T-SQL语言基础三、运算符三、运算符运算符包括算数运算符、比较运算符、逻辑运算符和位运算符等,下面分别介绍。(1)算术运算符。算术运算符主要用于加、减、乘、除等运算。【例6-1】使用“+”“-”运算符计算加减法。输入如下语句,运算结果如图6-5所示。
5、由于是数学运算,不用打开数据库,系统默认会打开master数据库。SELECT 10+20,0.8+5.9,40-35,0.9-2.86.1 T-SQL语言基础【例【例6-2】使用“*”运算符计算乘法。输入如下语句,运算结果如图6-6所示。SELECT 10*20,0.8*5.9,40*35,0.9*2.86.1 T-SQL语言基础【例【例6-3】使用“/”“%”运算符计算除法和求余运算。输入如下语句,运算结果如图6-7所示。SELECT 10/3,8.8/5.9,10%3,8.8%5.96.1 T-SQL语言基础(2)比较运算符。比较运算符用于对两个操作数进行比较,比较的结果是一个布尔类型,
6、即真假值,分别用TRUE和FALSE表示。比较运算符不能直接用在SELECT语句后面,通常在查询语句中的WHERE子句或T-SQL编程时的语句中作为判断条件语句使用。比较运算符如下:大于 =大于等于 =小于等于 或!=不等于 !不大于6.1 T-SQL语言基础(3)逻辑运算符。逻辑运算主要包括与或非等运算,结果也是布尔类型,主要用在WHERE子句中,具体如下:AND 与运算OR 或运算NOT 非运算ALL 是否满足全部条件ANY 满足其中一个条件IN 判断一个值是否在指定范围内BETWEEN 与AND连用判断一个值是否在一个范围内EXISTS 判断是否能查出数据SOME 同ANY6.1 T-S
7、QL语言基础(4)位运算符。位运算包括按位与、按位或、按位异或,具体如下:&按位与运算|按位或运算 按位异或运算 返回运算数的补数6.1 T-SQL语言基础【例【例6-4】使用“&”“|”“”运算符计算。输入如下语句,运算结果如图6-8所示。其结果是二进制数值,10的二进制是1010,3的二进制数是0011,运算表达式分别是1010&0011=0010,1010|0011=1011,10100011=1001,1010=1011。SELECT 10&3,10|3,103,106.1 T-SQL语言基础(5)运算符优先级。运算符的优先级顺序如下:优先级 运算符1 2*、%、/3+、-、&4=、=
8、、!5、|6NOT7AND8ALL、SOME、ANY、BETWEEN、OR9=(赋值符)6.1 T-SQL语言基础【相关知【相关知识】1.批批处理理批处理是指包含一条或多条T-SQL语句的语句组被一次性执行。是作为一个单元发出的一个和多个SQL语句的集合。以GO为结束标志。批处理中如果某处发生编译错误,整个执行计划都无法执行。批处理具有以下特点:(1)批处理中包含的一条或多条T-SQL语句的语句组,从应用程序一次性发送到SQLserver服务器执行。(2)SQLserver服务器将批处理语句编译成一个单元,这种单元称为执行单元。(3)批处理的过程中某条语句编译出错,则无法执行。若运行出错,则视
9、情况而定。(4)编译批处理时,GO语句作为批处理的结束标志,当编译器读取到GO语句时,会把GO语句前的所有语句当作一个批处理,并将这些语句打包发送给服务器。GO语句本身不是T-SQL语句的组成部分,只是一个表示批处理结束的指令。6.1 T-SQL语言基础2.批批处理必理必须遵守的遵守的规则(1)createdefault,createrule,createtrigger,createprocedure和createview等语句在同一个批处理中只能提交一个。(2)不能在删除一个对象之后,在同一批处理中再次引用这个对象。(3)不能把规则和默认值绑定到表字段或者自定义字段上之后,立即在同一批处理中
10、使用它们。(4)不能定义一个check约束之后,立即在同一个批处理中使用。(5)不能修改表中一个字段名之后,立即在同一个批处理中引用这个新字段。(6)使用Set语句设置的某些Set选项不能应用于同一个批处理中的查询(7)若批处理中第一个语句是执行某个存储过程的execute语句,则execute关键字可以省略。若该语句不是第一个语句,则必须写上。6.1 T-SQL语言基础3.批批处理理结束束语句句批处理以GO作为结束语句,即批处理的结束标志。也就是说当编译器执行到GO时会把GO之前的所有语句当作一个批处理来执行。GO语句和T-SQL语句不可在同一行,在批处理中的第一条语句后执行任何存储过程均必
11、须包含EXECUTE关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在GO语句后引用。4.脚本脚本脚本是存储在中一系列T-SQL语句,扩展名为.SQL,该文档可以在SSMS中运行。一个脚本可以包含一个或多个批处理,脚本中的GO语句标识一个批处理的结果,如果一个脚本中没有包含任何GO语句,则它被视为一个批处理。6.1 T-SQL语言基础5.注注释注释是程序中不被执行的文本字符串,也称为备注。注释有以下两个作用:(1)对程序进行说明,便于将来维护。(2)可以把程序中暂时不用的语句注释掉,使它们暂时不被执行,等需要这些语句时,再将它们恢复。SQLServer2017支持以下两种类型的注释
12、字符:(1)注释单行:用-(双连字符)。-建立数据库student(2)注释多行:用/*/。友情提醒:可以使用快捷键来添加注释,方法是选中语句后,先按“Ctrl+K”,再按“Ctrl+C”;取消注释时,先按“Ctrl+K”,再按“Ctrl+U”。/*建立数据库数据库名称为student*/6.1 T-SQL语言基础6.常量常量常量是指在程序运行中值不变的量。在SQLServer中,所有基本数据类型表示的值都可以作为常量使用。根据类型不同,常量可分为字符型常量、UNICODE字符串常量、整型常量、日期时间型常量、实型常量、货币常量等。常量的格式取绝于它所表示的值的数据类型。(1)字符型常量。用单
13、引号括起来的由ASCII构成的字符串。包含字母、数字字符(AZ,09,az)以及特殊字符,如感叹号(!),“at”符号和数字字符#。字符串常量示例如下:6.1 T-SQL语言基础(2)UNICODE字符串常量。前面有一个N,如abcde是字符串常量,而Nabcde是UNICODE字符串常量。(N在SQL92规范中表示国际语言,必须大写)。Unicode常量主要用于控制和比较区分大小写。Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。建议使用单括号括住字符串常量。(3)整
14、型常量。整型常量是指不包含小数点的数,不必用单引号括起来,通常包括二进制整型常量、十进制整型常量和十六进制整型常量。其中,二进制整型常量由0,1组成,如11111001。十进制整型常量如2789;十六进制整型常量用0 x开头,如0 x7e,0 x,只有0 x表示空十六进制数。6.1 T-SQL语言基础(4)日期时间型常量。日期和时间常量是datetime类型的数据,且用单引号将日期时间字符串括起来,格式有多种。日期型常量的示例如下,最后两个是时间常量,其余皆是日期常量。2006011206-24-198306/24/19881989-05-23198206241982年10月1日06-24-1
15、98306/24/19881989-05-23198206241982年10月1日08:08:0807:36PM6.1 T-SQL语言基础(5)实型常量。实型常量包含定点和浮点,如165.234,10E23。(6)货币常量。用货币符号开头。如¥542324432.25、$123。SQLServer不强制分组,有时每隔3个数字插一个逗号。6.1 T-SQL语言基础7.变量量变量是SQLServer用来在其语句之间传递数据的方式之一,由系统或用户定义并赋值。分局部变量和全局变量两种,局部变量是指名称以“”字符开始,由用户自己定义和赋值的变量;全局变量是指由系统定义和维护,名称以“”字符开始的变量。
16、(1)局部变量。T-SQL中用DECLARE语句声明变量,并在声明后将变量的值初始化为NULL。DECLARE语句的基本语法格式如下:DECLAREvariable_name date_type,variable_name date_type6.1 T-SQL语言基础其中,variable_name表示局部变量的名字,必须以“”开头。date_type表示指定的数据类型。如果需要,后面还要指定数据长度。局部变量不能是text、ntext或image数据类型。变量声明后,DECLARE语句将变量初始化为NULL,这时,我们可以调用SET语句或SELECT语句为变量赋值。SET语句的基本语法格式如
17、下:SET variable_name=expressionSELECT语句为变量赋值的基本语法格式如下:SELECT variable_name=expression FROM WHEREexpression为有效的SQLServer表达式,它可以是一个常量、变量、函数、列名和子查询等。6.1 T-SQL语言基础(2)全局变量。全局变量不能由用户定义,全局变量不可以赋值,并且在相应的上下文中随时可用。使用全局变量时应该注意以下几点:1)全局变量不是由用户的程序定义的,它们是在服务器级定义的。2)用户只能使用预先定义的全局变量。3)引用全局变量时,必须以“”开头。局部变量名称不能与全局变量名称
18、相同,否则会在应用程序中出现不可预测的结果6.1 T-SQL语言基础【例【例6-5】声明两个变量var1和char1,它们的数据类型分别为int和char。并且分别赋值为100,中国,执行并查看结果,如图6-9所示。declare var1 INT,char1 CHAR(4)-声明var1,char1变量 set var1=100 -给var1变量赋值100set char1=中国 -给char1变量赋值中国select var1 AS 数值,char1 AS 字符串go6.1 T-SQL语言基础【例【例6-6】用SELECT语句将Cscore_table表中的最高学分赋值给变量max,其中P
19、RINT是打印语句,用于打印变量的值,运行结果如图6-10所示。【例例6-6】用SELECT语句将Cscore_table表中的最高学分赋值给变量max,其中PRINT是打印语句,用于打印变量的值,运行结果如图6-10所示。6.1 T-SQL语言基础【例【例6-7】查询档案表File中的职工姓名、性别和职称,并分别取适当的名字。新建查询编辑器,输入如下语句,运行并查看结果,如图6-11所示,包括版本信息和服务器名称。PRINT VERSION -查看版本信息PRINT SERVERNAME -查看服务器名GO6.1 T-SQL语言基础【例【例6-8】查询学生表stu_table中的学生人数,使
20、用SET语句为变量赋值。新建查询编辑器,输入如下语句,运行结果如图6-12所示。USE student DECLARE rows int -声明变量 SET rows=(SELECT COUNT(*)FROM stu_table)PRINT ROWS AS 学生数 -输出各变量的值GO任务6.2 使用函数6.2 使用函数【任【任务描述】描述】对于类似student的数据库,要想顺利完成特定的数据查询或统计,除了要掌握必要的查询方法外,还要能够熟练地使用一些函数。【任【任务分析】分析】函数对于任何程序设计语言来说都是非常关键的组成部分。SQLServer2017提供的函数非常丰富,主要分成两大类
21、:系统函数和用户自定义函数。其中,系统函数包括数学函数、字符串函数、数据类型转换函数以及日期和时间函数等,在系统函数不能满足需要的情况下,用户可以创建、修改和删除用户定义函数。完成该任务需要掌握系统函数和用户自定义函数的应用方法。6.2 使用函数【任【任务实现】步步骤01:单击“新建查询”按钮进入查询分析器,输入如下语句并执行,结果如图6-13所示。PRINT ROUND(134.627,2)PRINT SUBSTRING(纪念抗美援朝战争70年,3,6)PRINT 中国人民志愿军+convert(char,70)+年PRINT year(getdate()GO6.2 使用函数步步骤02:输入
22、以下语句,单击“执行”按钮即可在student数据库中创建一个函数MMAX(),用于计算两个数的最大值。CREATEFUNCTIONMMAX(XREAL,YREAL)RETURNSREALASBEGINDECLAREZREALIFXYSETZ=XELSESETZ=YRETURNZEND6.2 使用函数步步骤03:新建查询,输入如下语句并执行,实现对函数的调用,结果如图6-14所示。PRINT DBO.MMAX(100,90);6.2 使用函数【相关知【相关知识】1.系系统函数函数如同其他编程语言一样,T-SQL语言也提供了丰富的数据操作函数,常用的有数学函数、字符串函数、数据类型转换函数、日期
23、和时间函数等。2.用用户自定自定义函数函数用户在编写程序的过程中,除了可以调用系统函数外,还可以根据应用需要自定义函数,以便用在允许使用系统函数的任何地方。用户自定义函数包括标量函数和表值函数两类,其中表值函数又包括内联表值函数和多语句表值函数。6.2 使用函数(1)标量函数。标量函数用于返回一个确定类型的标量。其返回类型为除TEXT、NTEXT、IMAGE、CURSOR、TIMESTAMP和TABLE类型以外的其他数据类型。函数体语句定义在BEGINEND语句内。创建标量函数的语法格式如下:CREATE FUNCTION function_name(Parameter scalar_ par
24、ameter_data_type=default,n)RETURNS scalar_ return_data_typeASBEGINFunction bodyRETURN scalar _expresstionEND6.2 使用函数(2)内联表值函数。内联表值函数的返回值是一个表。内联表值函数没有由BEGINEND语句括起来的函数体,其返回的表由一个位于RETURN语句中的SELECT语句从数据库中筛选出来。内联表值函数的功能相当于一个参数化的视图。创建内联表值函数的语法格式如下:CREATE FUNCTION function_name(Parameter scalar_ parameter
25、_data_type=default,n)RETURNS TABLEASRETURN select_stmt6.2 使用函数(3)多语句表值函数。多语句表值函数的返回值是一个表。函数体包括多个SELECT语句,并定义在BEGINEND语句内。创建多语句表值函数的语法格式如下:CREATE FUNCTION function_name(Parameter scalar_ parameter_data_type=default,n)RETURNS table_varible_name TABLE()ASBEGINfunction_bodyRETURNEND6.2 使用函数(4)调用用户自定义函数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server数据库项目6教学ppt课件 Server 数据库 项目 教学 ppt 课件
限制150内