工作场景导入(课件)-《MySQL数据库技术与应用》同步教学(清华)_第1页
工作场景导入(课件)-《MySQL数据库技术与应用》同步教学(清华)_第2页
工作场景导入(课件)-《MySQL数据库技术与应用》同步教学(清华)_第3页
工作场景导入(课件)-《MySQL数据库技术与应用》同步教学(清华)_第4页
工作场景导入(课件)-《MySQL数据库技术与应用》同步教学(清华)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

第7章运算符、表达式和系统函数本章的学习目标:了解Transact-SQL语言的发展过程理解Transact-SQL语言附加的语言元素掌握常量、变量、运算符和表达式掌握流程控制语句掌握常用函数7.1工作场景导入软件测试员小李要测试数据库的性能,当学生选课表的数据达到10万行,系统是否反应还会很快?如何才可以快速方便的为学生选课表添加10万行数据?引导问题:为学生选课表添加10万行数据时,(1)如何产生10万行不同的随机数据?(2)为考虑系统性能,应考虑多少行数据提交1次?(3)如何使用WHILE循环?7.2Transact-SQL概述SQL的全称为StructuredQueryLanguage(结构化查询语言),SQL最早是在20世纪70年代由IBM公司开发出来的,主要用于关系数据库中的信息检索,它的前身是关系数据库原型系统SystemR所采用的SEQUEL语言。SQL有3个主要标准:ANSISQL;SQL92;SQL99。7.2.1Transact-SQL语法约定约定用途大写Transact-SQL关键字。斜体用户提供的Transact-SQL语法的参数。粗体数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及必须按所显示的原样键入的文本。下划线指示当语句中省略了包含带下划线的值的子句时应用的默认值。|(竖线)分隔括号或大括号中的语法项。只能使用其中一项。[](方括号)可选语法项。不要键入方括号。{}(大括号)必选语法项。不要键入大括号。[,...n]指示前面的项可以重复n次。各项之间以逗号分隔。[...n]指示前面的项可以重复n次。每一项由空格分隔。;Transact-SQL语句终止符。虽然在此版本的SQLServer中大部分语句不需要分号,但将来的版本需要分号。<label>::=语法块的名称。此约定用于对可在语句中的多个位置使用的过长语法段或语法单元进行分组和标记。可使用语法块的每个位置由括在尖括号内的标签指示:<标签>。7.2.2多部分名称所有对数据库对象名的Transact-SQL引用将是由四部分组成的多部分名称,格式如下:server_name.[database_name].[schema_name].object_name|database_name.[schema_name].object_name|schema_name.object_name|object_name各个参数的含义如下所示:(1)server_nameserver_name指定链接的服务器名称或远程服务器名称。(2)database_name如果对象驻留在SQLServer的本地实例中,则database_name指定SQLServer数据库的名称。如果对象在链接服务器中,则database_name将指定OLEDB目录。(3)schema_name如果对象在SQLServer数据库中,则schema_name指定包含对象的架构的名称。如果对象在链接服务器中,则schema_name将指定OLEDB架构名称。(4)object_nameobject_name表示对象的名称。7.2.3如何给标识符起名SQLServer将标识符分为以下两种类型。1.常规标识符(1)标识符的首字符必须是下列字符之一。统一码(Unicode)2.0标准中所定义的字母,包括拉丁字母a-z和A-Z,以及其他语言的字母字符。下划线“_”、符号“@”或者数字符号“#”。(2)标识符的后续字符可以是以下3种。

统一码(Unicode)2.0标准中所定义的字母。来自拉丁字母或其他国家/地区脚本的十进制数字。“@”符号、美元符号“$”、数字符号“#”或下划线“_”。(3)标识符不允许是Transact-SQL的保留字。(4)不允许嵌入空格或其他特殊字符。2.分隔标识符分隔标识符类型有两种:双引号(“”)内的标识符方括号([])内的标识符该标识符可以不符合标识符的格式规则,如[MRGZGLXT]、MR和GZGLXT之间含有空格,但因为使用了方括号,所以视为分隔标识符。 注意:常规标识符和分隔标识符包含的字符数必须在1~128之间,对于本地临时表,标识符最多可以有116个字符。

7.2.4系统保留字与其他许多语言类似,SQLServer2016使用了180多个保留关键字(ReservedKeyword)来定义、操作或访问数据库和数据库对象。这些保留关键字是T-SQL语法的一部分,用于分析和理解T-SQL语言,包括DATABASE、CURSOR、CREATE、INSERT、BEGIN等。一般地,不能使用这些保留关键字作为对象名称或标识符。在编写T-SQL语句时,为了方便用户区分,这些系统保留字会以不同的颜色标记。7.3.1字符串型常量字符串型常量是定义在单引号中的字母、数字及特殊符号,如!、@、#。ASCII字符串常量:由单引号括起来的ASCII字符组成。

如果在字符常量中已经包含了一个单引号,那么可以使用两个单引号表示这个带单引号的字符,例如“SQL”表示‘SQL’。

Unicode字符串常量:格式与ASCII字符串常量相似,但它前面有一个前缀N,而且必须是大写的。

如:N’数据库原理’、N’计算机’。7.3常量数值型常量包含整型常量和实数型常量。整型常量(Integer)用来表示整数。可细分为二进制整型常量、十进制整型常量和十六进制整型常量。二进制整型常量以数字0或1表示;十进制整型常量即不带小数点的十进制数;十六进制整型常量由前缀0x后跟十六进制数组成。实数型常量用来表示带小数部分的数。有定点数和浮点数两种表示方式,其中浮点数使用科学记数法来表示。如:0.56E-3。7.3.2数值型常量7.3.3日期时间型常量(DATETIME)日期时间型常量使用特定格式的字符日期值来表示,并且用单引号括起来。如:2017年9月20日可以用以下方示:’September20,2017’、’09/20/2017’或’20170920’。7.3.4

货币型常量(MONEY)货币型常量以前缀“$”作为标识。如:$123.45。7.4.1

变量名称变量的命名规则:第一个字符必须是字母、数字、下画线或@符号。需要注意的是,符号“@”开头的变量表示局部变量、符号“@@”开头的变量表示全局变量。变量名不能是T-SQL语言的系统保留字(如IF、ELSE、CONTINUE等),包括大写和小写形式。变量名中不允许出现空格或其他特殊字符。根据以上规则,下列变量名都是合法的:b6、abc、class_3和average。变量声明:使用变量需要先声明再使用格式:DECLARE变量名称变量的数据类型[,…n]为表示局部变量,变量名称的第一个字符必须是@所有变量在声明后均设置初值为NULL7.4变量

7.4.2变量赋值有两种为变量赋值的方式:使用SET语句直接为变量赋值和使用SELECT语句选择表中的值来为变量赋值。语法格式如下:格式1:使用SET语句赋值SET变量名称=表达式格式2:使用SELECT语句赋值SELECT变量名称=表达式[,…n]说明:表达式可以是任何有效的SQL表达式;一个SELECT语句可以给多个变量赋值,而一个SET语句一次只能给一个变量赋值。【例】用赋值语句分别定义两个整型变量x和y。使x的值为36,y的值为9,计算并显示x,y,3x+4y,xy,和x/y的值。declare@xint,@yintset@x=36set@y=9select@x,@y,3*@x+4*@y,@x*@y,@x/@ygo【例】创建两个局部变量,并赋值,然后输出变量的值。declare@var1char(10),@var2char(20)set@var1='郑州大学'set@var2=@var1+'是一所双一流大学'select@var1,@var2go【例】创建一个名为sex的局部变量,并在select语句中使用该局部变量查找表student中所有男同学的信息。usexscjdeclare@sexchar(2)set@sex='男'select*fromstudentwheressex=@sexgo【例】使用查询给变量赋值。usexscjdeclare@xmvarchar(8)set@xm=(selectsnamefromstudentwheresno='2008056103')select@xmgousexscjdeclare@xmvarchar(8)select@xm=snamefromstuden

温馨提示

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

评论

0/150

提交评论