Transact-SQL利器-通配符(课件)-《MySQL数据库技术与应用》同步教学(清华)_第1页
Transact-SQL利器-通配符(课件)-《MySQL数据库技术与应用》同步教学(清华)_第2页
Transact-SQL利器-通配符(课件)-《MySQL数据库技术与应用》同步教学(清华)_第3页
Transact-SQL利器-通配符(课件)-《MySQL数据库技术与应用》同步教学(清华)_第4页
Transact-SQL利器-通配符(课件)-《MySQL数据库技术与应用》同步教学(清华)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章运算符、表达式和系统函数本章的学习目标:了解Transact-SQL语言的发展过程理解Transact-SQL语言附加的语言元素掌握常量、变量、运算符和表达式掌握流程控制语句掌握常用函数通配符说明%代表0个或多个字符_代表单个字符[]指定范围(如:[a-f]、[0-9]或集合[abcdef]中的任何单个字符[^]指定不属于范围(如:[^a-f]、[^0-9]或集合[^abcdef]中的任何单个字符7.6Transact-SQL利器——通配符T-SQL语言的通配符可以代替一个或多个字符,通配符必须与LIKE运算符结合使用。在Transact-SQL中,可以使用两种类型的注释符:1.单行注释使用双连字符“--”作为注释符时,从双连字符开始到行尾的内容都是注释内容。2.多行注释使用注释符“/**/”作为多行注释符时,从开始“/*”到“*/”之间的所有内容都为注释。这些注释字符可用于多行文字或代码块。7.7Transact-SQL语言中的注释【例】注释符的使用USEmaster--打开master数据库GO/*第一个批处理结束,第二个批处理开始,查询sys.objects表中的记录*/SELECT*FROMsys.objects--在数据库中创建的每个用户定义的架构作用域内的对象在该表objects中均对应一行。GO/*第二个批处理结束,第三个批处理开始,查询sys.tables表中的记录*/SELECT*FROMsys.tablesGO数据定义语言DDL(DataDefinitionLanguage):实现SQL的定义功能。用来定义数据库的逻辑结构,包括基本表、视图和索引。基本的DDL包括3类:即定义、修改和删除。语句功能CREATE创建数据库或数据库对象ALTER修改数据库或数据库对象DROP删除数据库或数据库对象7.8数据定义语言(DDL)7.9

数据操作语言(DML)数据操纵语言DML(DataManipulationLanguage):实现SQL的数据操纵功能。包括数据查询和数据更新两大类操作,其中,数据查询是指对数据库中的数据进行查询、统计、分组、排序等操作;数据更新包括插入、删除的修改3种操作。语句功能SELECT从表或视图中检索数据INSERT将数据插入到表或视图中UPDATE修改表或视图中的数据DELETE从表或视图中删除数据7.10

数据控制语言(DCL)数据控制语言DCL(DataControlLanguage):用来向用户赋予/取消对数据对象的控制权限,通过GRANT、REVOKE和DENY进行授权、回收或拒绝访问。数据库的控制是指数据库的安全性和完整性控制。SQL的数据控制包括对基本表和视图的授权,完整性规则的描述以及事务开始和结束等控制语句。语句功能GRANT授予权限REVOKE收回权限DENY禁止从其他角色中继承许可权限7.11

其他基本语句7.11.1

数据声明变量在使用中需要先声明再使用,声明变量用DECLARE语句,其语法格式如下:DECLARE变量名称变量的数据类型[,…n]

说明:局部变量的第一个字符必须是@所有变量在声明后均设置初值为NULL【例】变量声明例子DECLARE@sizeINT--声明一个名为size的INT型变量DECLARE@highINT--声明一个名为high的INT型变量DECLARE@stringVARCHAR(10)--声明一个名为string的VARCHAR类型变量7.11.2

数据赋值两种为变量赋值的方式:使用SET语句直接为变量赋值和使用SELECT语句选择表中的值来为变量赋值。SET:只能赋值一个变量格式:SET@变量名=变量值SELECT:可以同时赋值多个变量格式:SELECT@变量名1=变量值1,@变量名2=变量值2,..。【例】变量赋值例子SET@size=5SELECT@high=10,@string='hello'--显示赋值结果SELECT@sizeASsize,@highAShigh,@stringASstring7.11.3

数据输出数据输出格式:(1)PRINT局部变量(字符型类型)或字符串(2)SELECT局部变量AS自定义列名【例】数据输出示例--显示赋值结果SELECT@sizeASsize,@highAShigh,@stringASstringPRINT'服务器的名称:'+@@servernameSELECT@@servernameas'服务器的名称:'PRINT'错误编号为:'+convert(varchar(4),@@error)--因为@@error返回的是一个数字,所以要用convert()函数进行转换7.12.1BEGIN…END语句可以将多条Transact-SQL语句组成的一个语句块,整个语句块可以看做一条语句。BEGIN{sql_statement|statement_block}END其中,{sql_statement|statement_block}是任何有效的Transact-SQL语句或语句块定义的语句分组7.12

流程控制语句【例】判断两个数大小declare@xint,@yintset@x=2set@y=5if@x>@y print'@x大于@y'else print'@x小于或等于@y'7.12.2IF…ELSE语句IF条件表达式

{语句体1}[ELSE {语句体2}]【例】输入一个坐标值,判断其在哪一个象限。declare@xint,@yintset@x=2set@y=-5if@x>0 if@y>0 print'@x@y位于第一象限' else print'@x@y位于第四象限'else if@y>0 print'@x@y位于第二象限' else print'@x@y位于第三象限'【例】设定变量score,根据score的值判断成绩是否合格,并输出结论。declare@scoreint,@anchar(10)set@score=55if@score>=60 set@a=N'成绩合格'else set@a=N'成绩不合格'select@a1.简单Case语句Case<条件判断表达式>when条件判断表达式结果1then<Transact-SQL命令行或块语句>when条件判断表达式结果2then<Transact-SQL命令行或块语句>…when条件判断表达式结果nthen<Transact-SQL命令行或块语句>else<Transact-SQL命令行或块语句>end2.Case搜索语句Casewhen条件表达式1then<Transact-SQL命令行或块语句>when条件表达式2then<Transact-SQL命令行或块语句>…when条件表达式nthen<Transact-SQL命令行或块语句>else<Transact-SQL命令行或块语句>end7.12.3Case语句【例】简单Case语句DECLARE@var1VARCHAR(1)SET@var1='b'DECLARE@var2VARCHAR(10)SET@var2=CASE@var1WHEN'b'THEN'大'WHEN'm'THEN'中'WHEN's'THEN'小'ELSE'错误' ENDPRINT@var2select学号,课程号,成绩, Case when成绩>=90then'优秀' when成绩>=80then'良好' when成绩>=70then'中等' when成绩>=60then'及格' when成绩<60then'不及格' endas成绩等级from选课【例】Case搜索语句select成绩,等级= Case when成绩<60then'不及格' when成绩>=60and成绩<80then'及格' when成绩>=80and成绩<90then'良好' when成绩>=90and成绩<100then'优秀' else'数据出界' endfrom选课说明:若省略了else子句,则结果为NULL3.利用Case语句创建视图【例】createviewvasselect学号,课程号,成绩,等级= Case when成绩>=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论