sql命令讲解(T-SQL)
- 格式:ppt
- 大小:315.50 KB
- 文档页数:35


数据库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.数据库存储结构(数据库⽂件、数据库⽂件组):数据库⽂件:存放数据库数据和数据库对象的⽂件。
T-SQL 程序循环结构WHILE1.特点:WHILE循环语句可以根据某些条件重复执行一条T—SQL语句或一个语句块。
WHILE(条件)BEGIN语句或语句块END3。
调试程序:ALT+F5 启动调试,启动后F9切换断点,F10逐过程,F11逐语句4.例题:使用循环求1—10之间的累加和DECLARE@sum int,@i intSET@sum=0SET@i=1——使用循环结构累加求和WHILE(@i<=10)BEGINSET@sum=@i+@sumSET@i=@i+1ENDPRINT'1—10之间的累加和为:’+CAST(@sum AS varchar(4))GO三、CONTINUE、BREAK、RETURN关键字1。
特点:1)CONTINUE:可以让程序跳过CONTINUE关键字后的语句,回到WHILE循环的第一行命令。
2)BREAK:让程序完全跳出循环,结束WHILE循环的执行3)RETURN:从查询或过程中无条件退出,RETURN语句可在任何时候,用于从过程、批处理或语句块中退出。
位于RETURN之后的语句不会被执行。
2。
例题【1】在循环中使用CONTINUE,遇到CONTINUE回到WHILE的条件判断处求1-10之间的偶数和DECLARE@sum int,@i intSET@i=1WHILE(@i<=10)BEGINIF(@i%2=1)BEGINSET@i=@i+1CONTINUEENDELSEBEGINSET@sum=@sum+@iSET@i=@i+1ENDEND--WHILE的结束PRINT'1—10之间的偶数和为:’+CONVERT(varchar(2),@sum) GO【2】在循环中使用BREAK遇到数字5退出程序。
DECLARE@i intSET@i=1WHILE(@i〈=10)BEGINIF(@i=5)BEGINBREAK--退出循环结构,即使条件成立也不去判断了ENDELSESET@i=@i+1ENDPRINT’@i的值为:@x=’+CAST(@i AS varchar(2))GO【3】RETURN实现退出功能DECLARE@i intSET@i=1WHILE(@i<=10)BEGINIF(@i=5)BEGINRETURN—-退出功能可以执行批处理后的代码ENDELSESET@i=@i+1ENDPRINT’@i的值为:@x='+CAST(@i AS varchar(2))GO-—执行该语句,发现没有输出,因为程序遇到RETURN后,整个批处理后面的内容不被执行,但是可以执行批处理后的代码PRINT'我是批处理后的代码'。