SQL第8章T-SQL编程.ppt
《SQL第8章T-SQL编程.ppt》由会员分享,可在线阅读,更多相关《SQL第8章T-SQL编程.ppt(71页珍藏版)》请在三一办公上搜索。
1、1,第8章 T-SQL编程,8.1 Transact-SQL简介 8.2 T-SQL中的批处理 8.3 T-SQL中的注释8.4 T-SQL数据类型及转换 8.5 T-SQL运算符8.6 T-SQL中的常量和变量8.7 T-SQL的流程控制8.8 T-SQL中常用函数8.9 T-SQL中用户自定义函数,2,8.1 Transact-SQL简介,结构化查询语言(SQL)是由美国国家标准协会(American National Standards Institute,ANSI)和国际标准化组织(International Standards Organization,ISO)定义的标准,而T-SQ
2、L是Microsoft公司对此标准的一个实现。T-SQL是在SQL上发展而来的,T-SQL在SQL的基础上添加了流程控制,是SQL语言的扩展。因此,SQL是几乎所有的关系型数据库都支持的语言,而T-SQL是Microsoft SQL server支持的语言。,3,8.1 Transact-SQL简介,在Microsoft SQL server 2005系统中,T-SQL可以创建、维护、保护数据库对象,并且可以操作对象中的数据,所以Transact-SQL语言是一种完整的语言。根据T-SQL语言的执行功能特点,可以将T-SQL语言分为三种类型:数据定义语言:Create、Alter和Drop等语
3、句 数据操纵语言:Insert、Update、Delete和Select语句 数据控制语言:Grant、Revoke、Deny等语句 附加的语言元素:Transact-SQL语言的附加语言元素,包括变量、运算符、函数、注释和流程控制语句等。,4,8.1 Transact-SQL简介,数据定义语言(Data Definition Language,DDL)数据定义语言DDL用于在SQL中创建或修改数据库及数据库对象,如创建表、视图、存储过程、函数等数据库对象。在DDL中主要包括CREATE语句、ALTER语句和DROP语句,分别用于创建、修改、删除数据库及数据库对象。,5,8.1 Transac
4、t-SQL简介,数据操纵语言(Data Manipulation Language,DML)数据操纵语言DML是指用来操纵数据库中数据的语句,主要包括SELECT语句、INSERT语句、UPDATE语句、DELETE语句、CURSOR语句等。数据控制语言(Data Control Language,DCL)数据控制语言DCL是用来确保数据库安全的语句,主要用于控制数据库组件的存取许可、存取权限等权限管理问题。其主要包括GRANT语句、REVOKE语句、DENY。,6,第8章 T-SQL编程,8.1 Transact-SQL简介 8.2 T-SQL中的批处理 8.3 T-SQL中的注释8.4 T
5、-SQL数据类型及转换 8.5 T-SQL运算符8.6 T-SQL中的常量和变量8.7 T-SQL的流程控制8.8 T-SQL中常用函数,7,8.2 T-SQL中的批处理,在SQL Server2005中,可以一次执行多个T-SQL语句,这些多个T-SQL语句称为“批”。SQL Server2005会将一批T-SQL语句当成一个执行单元,将其编译后一次执行,而不是将一个个T-SQL语句编译后再一个个执行。在SQL Server2005中同样允许一次使用多个批,不同的批之间用“GO”来分隔。查询编辑器会自动根据GO指令来将T-SQL语句分为多个批来编译执行。如:use northwindsele
6、ct*from categoriesselect*from customersgo,8,8.2 T-SQL中的批处理,注意:1、go并不是T-SQL语句,只有查询编辑器才能识别并处理,编写其他应用程序就不能使用go指令。2、由于批与批之间是独立的,所以,当其中一个批出现错误时,不会影响其他批的运行。,9,第8章 T-SQL编程,8.1 Transact-SQL简介 8.2 T-SQL中的批处理 8.3 T-SQL中的注释8.4 T-SQL数据类型及转换 8.5 T-SQL运算符8.6 T-SQL中的常量和变量8.7 T-SQL的流程控制8.8 T-SQL中常用函数,10,8.3 T-SQL中的
7、注释,在T-SQL程序里加入注释语句,可以增加程序的可读性。SQL Server不会对注释的内容进行编辑和执行,在T-SQL中支持两种注释方式。1、-注释-注释的有效范围只能到该行结束的地方,也就是说,从开始,到本行结束为止,都可以是注释的内容,如果有多行注释内容的话,每一行的最前面都必须加上-。2、/*/注释 当要进行比较长的注释时,可以使用/*/注释,/*/可以对多行语句进行注释,其有效范围是从“/*”开始,到“*/”结束,中间可以跨越多行。,11,第8章 T-SQL编程,8.1 Transact-SQL简介 8.2 T-SQL中的批处理 8.3 T-SQL中的注释8.4 T-SQL数据类
8、型及转换 8.5 T-SQL运算符8.6 T-SQL中的常量和变量8.7 T-SQL的流程控制8.8 T-SQL中常用函数,12,8.4 T-SQL数据类型及转换,在SQL Server中,无论是数据表的字段、常量、变量、表达式还是参数,都具有一个相对应的数据类型。数据类型是一种属性,用于指定对象可保存的数据的类型。1、使用CAST转换数据类型当要对不同类型的数据进行运算时,就必须将其转换成相同的数据类型才能进行运算。在SQL Server里提供了两个函数可以进行数据类型的转换,其中一个是CAST。,13,8.4 T-SQL数据类型及转换,语法格式如下:CAST(expression AS d
9、ata_type(length))其中expression为任何有效的表达式,data_type为要转换的数据类型,length为数据类型的长度,一般只有在nchar、nvarchar、char、varchar、binary和varbinary这几种数据类型才需要使用,是可选参数。,14,8.4 T-SQL数据类型及转换,例1:查看northwind数据库products表中产品及单价,并在一列中显示出来.程序代码如下:SELECT productname+N的单价为:+CAST(unitprice as varchar(10)+N元 AS 产品介绍FROM products,15,8.4 T
10、-SQL数据类型及转换,同步任务1:查看northwind数据库orders表中订单号和订单时间,并在一列中显示出来SELECT CAST(orderid as varchar(10)+N的时间为:+CAST(orderdate as varchar(20)AS 订单时间FROM orders,16,8.4 T-SQL数据类型及转换,2、使用CONVERT转换数据类型CONVERT函数与CAST函数类似,作用也是转换数据类型,其语法格式如下:CONVERT(data_type(length),expression,style)data_type为要转换的数据类型length为数据类型的长度ex
11、pression为任何有效的表达式style是样式,一般用于将datetime或smalldatetime数据转换为字符数据(nchar、nvarchar、char、varchar数据类型)的日期格式的样式;或者用于将float、real、money或smallmoney数据转换为字符数据的字符串格式。如果style为NULL,则返回的结果也为NULL。,17,8.4 T-SQL数据类型及转换,例2:查看northwind数据库orders表中订单号、订购日期、到货日期、发货日期。select orderid as 订单号,convert(varchar(20),orderdate,1)as
12、订购日期,convert(varchar(20),requireddate,102)as 到货日期,convert(varchar(20),shippeddate,103)as 发货日期from orders,18,8.4 T-SQL数据类型及转换,3 隐式数据类型转换在进行不同类型的数据运算时,不一定都必须要使用CAST或CONVERT来进行数据类型转换,在SQL Server里,系统会自动将一些数据类型进行转换,这种转换称为“隐式转换”。而用CAST或CONVERT转换数据类型称为“显式转换”。,19,8.4 T-SQL数据类型及转换,例3:查看northwind数据库products表中
13、产品库存量所值的资金SELECT productname,unitprice*unitsinstock AS jiyazijinFROM products同步任务3:查看northwind数据库order details表中每个订单的总金额SELECT orderid,sum(unitprice*quantity)AS jineFROM order detailsGROUP BY orderid,20,第8章 T-SQL编程,8.1 Transact-SQL简介 8.2 T-SQL中的批处理 8.3 T-SQL中的注释8.4 T-SQL数据类型及转换 8.5 T-SQL运算符8.6 T-SQL
14、中的常量和变量8.7 T-SQL的流程控制8.8 T-SQL中常用函数,21,8.5 T-SQL运算符,算术运算符逻辑运算符字符串连接运算符一元运算符比较运算符,2023/11/8,22,1.算术运算符,2.赋值运算符,算术运算符包括加(+)、减()、乘(*)、除(/)和取模(%,返回两个数相除后的余数)。,Transact-SQL 中只有一个赋值运算符(=),8.5 T-SQL运算符,3.位运算符,【例】输出对1与0按位求与运算、或运算和异或运算的结果。DECLARE a bit,b bit,c bitSET a=1&0SET b=1|0SET c=10PRINT a PRINT b PRI
15、NT c,8.5 T-SQL运算符,2023/11/8,24,4.比较运算符,比较运算符表,8.5 T-SQL运算符,2023/11/8,25,5.逻辑运算符,逻辑运算符表,8.5 T-SQL运算符,2023/11/8,26,6.字符串联运算符,字符串联运算符只有一个,即加号“+”。利用字符串运算符可以将多个字符串连接起来,构成一个新的字符串。,例如,执行语句SELECT abc+def,其结果为abcdef。,【例题9.7】查询student表中学生的姓名和学号,要求两者要作为一列结果输出,学号和姓名间用字符“-”隔开。USE SCOREGOSELECT student_id+-+stude
16、nt_nameFROM student,8.5 T-SQL运算符,2023/11/8,27,运算符的优先级别表,8.5 T-SQL运算符,28,第8章 T-SQL编程,8.1 Transact-SQL简介 8.2 T-SQL中的批处理 8.3 T-SQL中的注释8.4 T-SQL数据类型及转换 8.5 T-SQL运算符8.6 T-SQL中的常量和变量8.7 T-SQL的流程控制8.8 T-SQL中常用函数,29,8.6 T-SQL中的常量和变量,1、常量 常量,也称为文字值或标量值,是一个代表特定值的符号,是一个不变的值。常量的格式取决于它所表示的值的数据类型。字符串常量:a,Im back,
17、Unicode常量:N a,N Bit常量:1,0 Datetime常量:August 3,2006,2006-8-3,06/08/06 Integer常量,decimal常量,float和real常量,money常量,30,8.6 T-SQL中的常量和变量,2、变量 T-SQL中的变量可以分为全局变量和局部变量两种,全局变量是以开头命名的变量,局部变量是以开头命名的变量。全局变量是SQL SERVER 系统提供并赋值的变量。用户不能建立及修改全局变量。全局变量是一组特殊的函数,它们的名称是以开始,且不需要任何参数。SQL SERVER提供33个全局变量。,31,8.6 T-SQL中的常量和变
18、量,error:上一条SQL语句报告的错误号rowcount:上一条SQL语句处理的行数identity:最后插入的标识值fetch_status:上一条游标 Fetch 语句的状态nestlevel:当前存储过程或触发器的嵌套级别servername:本地服务器的名称spid:当前用户进程的会话idcpu_busy:SQL Server 自上次启动后的工作时间例4:查看版本信息print version例5:查看select后的记录集里的记录数select*from employeesprint 一共查询了+CAST(rowcount as varchar(5)+条记录,32,8.6 T-S
19、QL中的常量和变量,3、局部变量 指在批处理或脚本中用来保存数据值的对象,局部变量名总是以符号开始,必须符合标识符命名规则。在使用一个局部变量前,必须使用DECLARE语句来声明这个局部变量,指定其变量名和数据类型。局部变量声明的语法格式为:DECLARE 局部变量名 数据类型,n,33,8.6 T-SQL中的常量和变量,局部变量赋值:SET 局部变量名=表达式也可以使用select语句 select 局部变量名=表达式,n,注意:声明的变量名,其第一个字符必须是必须指定变量的数据类型及长度默认情况下,系统将声明后的变量设置为NULL,34,8.6 T-SQL中的常量和变量,局部变量的作用域:
20、局部变量的作用域从声明它们的地方开始到声明它们的批处理或存储过程的结尾。,【任务】使用birthday存储出生日期,实用age存储年龄,实用name存储姓名。同时为所声明的birthday变量赋值“1999-4-14”(使用set语句);然后将Student表中的学生的最大年龄赋值给变量age(使用Select语句)。,Declare birthday datetimeDeclare age int,name char(8)Set birthday=1994-4-14Use databasenameSelect age=max(age)from studentPrint-变量的输出结果-Pri
21、nt birthday的值Print birthdayPrint 最大年龄Print agePrint name,8.6 T-SQL中的常量和变量,36,第8章 T-SQL编程,8.1 Transact-SQL简介 8.2 T-SQL中的批处理 8.3 T-SQL中的注释8.4 T-SQL数据类型及转换 8.5 T-SQL运算符8.6 T-SQL中的常量和变量8.7 T-SQL的流程控制8.8 T-SQL中常用函数,37,8.7 T-SQL的流程控制,1)BEGINEND语句块 用于将多个T-SQL语句组合在一个语句块中,其语法格式为:BEGIN 语句1 语句n END,38,8.7 T-SQ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 编程
链接地址:https://www.31ppt.com/p-6520998.html