第九章TSQL语言
- 格式:ppt
- 大小:1.37 MB
- 文档页数:79


T-SQL语⾔⼀、T-SQL的语⾔的组成部分数据定义语⾔(DDL):⽤于在数据库系统中对数据库、表、视图、索引等数据库对象进⾏创建和管理数据控制语⾔(DCL):⽤与实现对数据库中数据的完整性、安全性等的控制数据操纵语⾔(DML):⽤于插⼊、查询、修改和删除数据库中的数据⼆、局部变量声明局部变量declare @name char(10)局部变量赋值select⽅式declare @name char(20)select @name = name from User where id = 1print @nameset⽅式declare @name char(20),@age intset @name = '张三',@age = 20三、全局变量全局变量是SQL Server系统内部事先定义好的变量,不需要⽤户参与定义、对于⽤户⽽⾔,其作⽤范围并不局限于某⼀程序,⽽是任何程序随时可以调⽤。
全局变量通常⽤于存储⼀些SQL Server的配置设定值和效能统计数据。
全局变量都是以‘@@’开头的四、流程控制流程控制语句是⽤来控制程序执⾏流程的语句。
Begin...Endbegin...end语句⽤于将多个T-SQL语句组合为⼀个逻辑块。
当流程控制语句必须执⾏⼀个包含两条或两条以上的T-SQL语句的语句块时,使⽤Begin...End语句declare @x int,@y int,@z intset @x = 1set @y = 2beginset @z=@xset @x=@yset @y=@zendprint @xprint @yprint @zIF...ELSEdeclare @x int.@y intset @x = 3set @y = 1if @x > @yprint '@x>@y'elseprint '@x<@y'CASE使⽤case语句可以很⽅便地实现多长选择的情况,⽐IF...THEN结构有更多的选择和判断的机会,从⽽可以避免编写多重的IF...THEN嵌套循环简单case函数case input_expressionwhen when_expression Then result_expression[..n][else else_result_expressionendcase搜索函数caseWhen Boolean_expression Then result_expression[...n][else else_expressionendcase函数参数表case简单函数和case搜索函数两种格式的执⾏顺序简单case函数计算 input_expression ,然后按指定顺序对每个When⼦句的input_expression = when_expression进⾏计算如果input_expression = when_expression 为true,则返回result_expression.如果没有取值为true的input_expression = when_expression,则当指定else⼦句时,SQL Server将返回else_result_expression;若没有指定else⼦句,则返回null值case搜索函数按指定顺序为每个When ⼦句的Boolean_expression求值返回第⼀个取值为TRUE的Boolean_expression的result_expression如果没有取值为True的Boolean_expression,则当指定else⼦句时,SQL Server将返回else_result_expression;若没有指定else⼦句,则返回null值例如:select *,备注 = casewhen grade >= 90 then '成绩优秀'when grade < 90 and grade >= 80 then '成绩良好'when grade < 80 and grade >= 60 then '成绩及格'else '不及格'endfrom tb_gradeWhilewhile⼦句时T-SQL语句⽀持的循环操作。
数据库T-SQL语⾔操作(T-SQL语句、数据库、表、视图、索引)T-SQL语⾔按⽤途分四部分1. 数据定义语⾔(CREATE,DROP,ALTER)2. 数据操作语⾔(INSERT,DELETE,UPDATE)3. 数据查询语⾔(SELECT)4. 数据控制语⾔(GRANT,REVOKE,DENY)数据类型1. 系统数据类型2. ⽤户⾃定义数据类型(建⽴⽅式:a.图形化⽅式 b.命令⽅式)1use TEST2EXEC sp_addtype sno,'varchar(10)','nonull'3EXEC sp_droptype sno变量命名规则:字母、下划线、@或#开头,但不能全为下划线、@或#不能为“关键字”,不能嵌⼊空格及其他特殊字符,如需使⽤则需要双引号或⽅括号括起1.局部变量:由⽤户声明,必须以@开头,只在定义该变量的过程中有效,局部变量必须先声明后使⽤注意:第⼀次声明变量时,其值设置为NULL。
局部变量不能使⽤“变量=变量值”的格式进⾏初始化,必须使⽤SELECT或SET语句来设置其初始值。
如果声明字符型的局部变量,⼀定要在变量类型中指明其最⼤长度,否则系统默认其长度为1。
若要声明多个局部变量,请在定义的第⼀个局部变量后使⽤⼀个逗号,然后指定下⼀个局部变量名称和数据类型。
1USE student2DECLARE@var1char(10),@var2int3SET@var1='number'4select@var2=cgrade5from sc6where sno='201810010'78print@var1+"s"2.全局变量:由系统定义,供SQL server系统内部使⽤的变量,任何程序任何时间都可以调⽤。
通常以“@@”开头。
T-SQL语句1.注释语句(1) --(2) /*……*/2.批处理--GO3.控制流程语句(1) begin...end语句(相当于C语⾔中的{} )(2) if...else语句(可嵌套)(3)case语句(多条件选择语句)(4)print语句(屏幕输出语句)(5)while语句(有条件的循环语句)(6)goto语句(⽆条件跳转语句)(7)break语句(8)continue语句4.常⽤函数(系统函数、⽤户⾃定义函数)⼀些系统函数:(1)字符串函数(2)数学函数(3)⽇期和时间函数(4)聚合函数注意:⽤户⾃定义函数:1.分类:标量值函数:返回单个值内联表值函数:返回可更新的表多语句表值函数:返回不可更新的表2.标量值函数命令⽅式创建1CREATE FUNCTION f2(@a real,@b real) 2RETURNS real3AS4BEGIN5IF@a>=@b6RETURN@a7RETURN@b8END910PRINT'最⼤值为'11PRINT dbo.f2(77,56)1CREATE FUNCTION f3(@n real)2RETURNS real3AS4BEGIN5DECLARE@i real,@sum real6SET@i=07SET@sum=08WHILE@i<@n9BEGIN10SET@i=@i+111SET@sum=@sum+@i12END13RETURN@sum14END1516PRINT dbo.f3(10)3.⾃定义函数的调⽤(1)标量值函数可以使⽤select、print、exec调⽤(2)表值函数只能⽤select调⽤4.删除⽅式drop function 函数名数据库数据库概述1.数据库常⽤对象:表、数据类型、视图、索引、存储过程、触发器系统数据库:master、model、tempdb、msdb2.数据库存储结构(数据库⽂件、数据库⽂件组):数据库⽂件:存放数据库数据和数据库对象的⽂件。