版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Transact-SQL语言基础知识的基本认知课程简介2通过本课程的学习,认知Transact-SQL语言基础知识。
主要学习内容:一.T-SQL语言的简介二.标识符三.数据类型四.运算符和表达式五.常量六.变量七.注释八.续行九.数据库对象命名T-SQL语言的简介3Transact-SQL(又称T-SQL)语言是操作SQLServer的核心,在SQLServer中,与SQLServer实例通信的所有应用程序都通过T-SQL语句发送到服务器,实现数据的检索、操纵和控制等功能。T-SQL语言的简介4任何应用程序,不管它是用什么形式的高级语言编写的,只要目的是向SQLServer数据库管理系统发出命令以获得其响应,最终都必须体现为以T-SQL语句为表现形式的指令。因此T-SQL是SQLServer与应用程序之间的语言,是SQLServer的应用程序开发接口。T-SQL语言的简介5T—SQL语言分成五大类,各类语言及作用如下:(1)数据定义语言DDL:用来创建数据库和数据库对象的命令,绝大部分以CREATE开头,如CREATETABLE等。(2)数据操作语言DML:用来操作数据库中各种对象,对数据进行修改和检索。DML语言主要有四种:SELECT(查询)、INSERT(插入)、UPDATE(更新)和DELETE(删除)。T-SQL语言的简介6(3)数据控制语言DCL:用来控制数据库组件的存取许可、权限等命令,如GRANT、REVOKE。(4)事务管理语言TML:用于管理数据库中的事务的命令,包括COMMIT、ROLLBACK。(5)其他语言元素:如标识符、数据类型、流程控制和函数等。T-SQL语言的简介7
每一条T-SQL语句都包含一系列元素,比如标识符、数据类型、运算符、表达式、函数和注释等,下面对这些元素的具体情况进行说明。标识符8
标识符就是指用来定义服务器、数据库、数据库对象和变量等的名称。可分为常规标识符和分隔标识符。1.常规标识符:是严格遵守标识符有关规定的基本格式规则。标识符9
2.分隔标识符:使用了分隔符号(如用[]和””)来进行位置限定,如果不遵守标识符命名规则的标识符,在T-SQL语句中必须使用分隔符加以限定,否则无法进行代码编译。如这条查询语句“SELECT*INTO[MyTable]FROMCustomerWHERECustomerID=14”中MyTable作为数据表名是不符合标识符的格式规则,因为名称中间有一个空格,如果不进行分隔,SQLServer会把看成是两个标识符,从而出现错误,所以必须使用分隔符[MyTable]。数据类型10
数据类型是一种属性,在SQLServer数据库中保存和处理数据时需要区分不同类型的数据,常用的有binary[(n)]、int、decimal[(p[,s])]、varchar[(n)]、date、time、datetime2和bit等。运算符和表达式11表达式是标识符、值和运算符的组合,可以对其计算以获取结果。在SQLServer中有7类运算符:1.算术运算符:用于两个表达式执行数学运算,包括+(加)、-(减)、*(乘)、/(除)、%(取模)。2.赋值运算符:“=”。3.位运算符:用于在两个操作数之间执行位操作。包括&(位与)、|(位或)、^(位异或),这两个操作数可以为整数数据类型类别中的任何数据类型。运算符和表达式124.比较运算符:用于比较两个表达式的值,包括:=(等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、<>(不等于)等,比较运算符结果有3个值:TRUE,FALSE,UNKNOWN(未知)。5.字符串串联运算符:“+”可将字符串串联起来,例如,'采购部主管:'+'张立'的结果就是'采购部主管:张立'。6.一元运算符:一元运算符只对一个表达式执行操作,包括+(正)、-(负)、~(位非)。运算符和表达式137.逻辑运算符:用于对某些条件表达式进行测试比较,返回带有TRUE或FALSE值。8.运算符优先级:当一个复杂的表达式有多个运算符时,运算符优先级决定运算符的先后顺序。在较低级别的运算符之前先对较高级别的运算符进行求值。运算符优先级别如下表所示:运算符和表达式14级别运算符1~(位非)+(正)-(负)2*(乘)、/(除)、%(取模)3+(正)、-(负)、+(加)、(+连接)、-(减)、&(位与)4=,>、<、>=、<=、<>、!=、!>、!<(比较运算符)5^(位异或)、|(位或)6NOT7AND8ALL、ANY、BETWEEN、IN、LIKE、OR、SOME9=(赋值)常量15常量格式取决于它所表示值的数据类型。根据常量值的不同类型,常量分为字符串常量、二进制常量、整型常量、实数常量、日期时间常量、货币常量和惟一标识常量等。变量16SQLServer提供两种变量:用户自定义的局部变量和系统提供的全局变量。1.局部变量用户自己定义的变量称为局部变量,用于保存特定类型的单个数据值的对象。其作用范围仅在程序内部,在程序中通常用来存储从表中查询到的数据或暂存程序执行过程中的数据。变量17
(1)声明局部变量:DECLARE@变量名1数据类型,@变量名2数据类型,...,@变量名n数据类型注意:局部变量名必须以@开头,先用DECLARE声明之后才能使用。用DECLARE声明之后,所有的变量都被赋予初值NULL。数据类型可以是系统提供的类型、用户定义数据类型。变量不能是varchar(MAX)或varbinary(MAX)等数据类型。变量18
(2)赋值局部变量用SET或SELECT语句为局部变量赋值,语法格式如下所示:SET@变量名1=表达式1,@变量名2=表达式2,...@变量名n=表达式nSELECT@局部变量名=表达式[,…n][FROM子句][WHERE子句]变量19
其中,使用SELECT语句给变量赋值时,如果省略了FROM子句和WHERE子句的话,就等同于SET语句赋值;如果有FROM子句和WHERE子句,类似查询表内容后赋值;如果SELECT语句返回多个值,则将返回的最后一个值赋给局部变量。变量20【例】定义两个变量并赋值。代码与运行结果,如图所示:代码中用DECLARE语句同时定义了2个局部变量,并分别用SET及SELECT语句为局部变量进行赋值。变量212.全局变量全局变量由系统定义和维护的变量,用于记录服务器活动状态的一组数据。全局变量名由@@符号开始。例如,@@version全局变量返回当前SQLServer的版本信息和处理器类型。用户不能建立全局变量,也不能用SET语句修改全局变量的值。在SQLServer中,全局变量以系统函数的形式在使用。变量22【例】打印出当前系统服务器的名称代码:PRINT'当前系统服务器的名称:'+@@SERVERNAME代码与运行结果,如图所示:。注释23
注释有两个作用:第一,对程序代码的功能进行简要说明,以便于程序代码维护;第二,可以把程序中暂不用的语句注释起来,使它们暂时不被执行。SQLServer中的注释一般有两种,分别是单行注释和块注释。注释241.单行注释放在T-SQL语句行后,使用“--”表示单行注释语句,如图所示:注释252.块注释语句将多行注释文本包含在符号“/*”和“*/”中间,就形成了块注释语句,如图所示:续行26T-SQL语句如果要写得很长,可以将一条语句在多行中进行编写,T-SQL会忽略掉空格和行尾的换行符号,方便并显著提高了T-SQL的可读性。、如图所示:,可以看到,分行与不分行书写的查询语句,运行结果是一致的。数据库对象命名27数据库对象命名一般由四部分组成的名称,格式如下:
服务器(server)名称.数据库(database)名称.架构(schema)名称.对象(object)名称当引用某个特定对象时,可以省略标识该对象的服务器、数据库和架构这些中间级节点名称,而使用句点表示这些位置。具体有效的对象名格式,如下表所示:数据库对象命名28序号对象引用格式说明1server.database.schema.object完整包含四个部分的全称。2server.database..object省略架构名称。3server..schema.object省略数据库名称。4server...object省略数据库和架构名称。5database.schema.object省略服务器名。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多余趾切除术后护理查房
- 物流行业绿色发展与环境制度
- 项目3 网络体系结构
- 医疗服务质量监督管理制度
- 河南省开封市第十四中学2025-2026学年下学期期中考试八年级物理试题(含解析)
- 护理查房中的护理沟通与协调
- 鼻窦炎术后护理专项考试题及答案解析
- 护士静脉采血与皮内注射理论考核试题
- 江苏省宜兴市伏东中学初中音乐《大海啊故乡》教学设计
- 2026年山东日照市高三二模高考政治试卷试题(含答案详解)
- 北京版八年级生物(上册)知识点总结
- 医疗设备试用的协议书
- 认知行为疗法进阶
- DB11/T 147-2015-检查井盖结构、安全技术规范
- 河道的整治方案
- 广东省初级中学教育装备标准
- 半小时漫画股票实战法
- 中国的侍酒师
- 水利工程经济第六章-水利工程效益分析课件
- 2023北京市大兴区初一(下)期中语文试题及答案
- 刺客列传荆轲原文翻译
评论
0/150
提交评论