第9章 T-SQL 编程

上传人:012****78 文档编号:132707244 上传时间:2020-05-19 格式:PPT 页数:132 大小:1.38MB
返回 下载 相关 举报
第9章 T-SQL 编程_第1页
第1页 / 共132页
第9章 T-SQL 编程_第2页
第2页 / 共132页
第9章 T-SQL 编程_第3页
第3页 / 共132页
第9章 T-SQL 编程_第4页
第4页 / 共132页
第9章 T-SQL 编程_第5页
第5页 / 共132页
点击查看更多>>
资源描述

《第9章 T-SQL 编程》由会员分享,可在线阅读,更多相关《第9章 T-SQL 编程(132页珍藏版)》请在金锄头文库上搜索。

1、19 05 2020 1 第9章T SQL编程 语法基础函数流程控制语句 19 05 2020 2 T SQL语言 SQL StructuredQueryLanguage 结构化查询语言 是利用一些简单的句子构成基本的语法 来存取数据库的内容 由于SQL简单易学 目前它已经成为关系数据库系统中使用最广泛的语言 Transact SQL是MicrosoftSQLServer提供的一种结构化查询语言 19 05 2020 3 SQL语言的分类 根据SQLServer数据库管理系统具有的功能 T SQL语言可分为 数据定义语言 DataDefinitionLanguage 简称DDL 用来执行数据库

2、的任务 对SQLServer中的各种对象进行create alter drop等操作的语句 数据处理语言 DataManipulationLanguage 简称DML 用来在数据库中操纵各种对象 检索和修改数据 包括select update delect insert操作的语句 数据控制语言 DataControlLanguage 简称DCL 用来进行安全性管理 可以确定哪些用户可以查看或修改数据 一般是指专门用来设置数据库对象使用权限的语句 包括grant deny revoke等语句 SQL中 可将DCL将数个SQL语句组合起来 然后交给数据库系统一并处理 即DTL 事务处理语言 Dat

3、aTransactionLanguage 简称DTL 完成事务控制的语句 T SQL新增加的语言 19 05 2020 4 T SQL编程 语法基础 一 标识符 注释二 数据类型三 常量与变量四 运算符及表达式 19 05 2020 5 标识符 在SQLServer中 标识符就是用来定义服务器 数据库 数据库对象和变量等的名称 可以分为常规标志符和分隔标识符 常规标识符就是不需要使用分隔标识符进行分隔的标识符 符合标识符的格式规则 19 05 2020 6 标识符的命名规则 1 可用做标识符的字符英文字符 A Z或a z 在SQL中是不用区分大小写的 数字 0 9 但数字不得作为标识符的第一个

4、字符 特殊字符 但 不得作为标识符的第一个字符 特殊语系的合法文字 例如中文文字也可作为标识符的合法字符 2 标识符不能是SQL的关健词 包括大小写形式 例如 table TABLE select SELECT 等都不能作为标识符 3 标识符中不能有空格符 或 之外的特殊符号 4 标识符的长度不得超过128个字符长度 例 SELECT FROMbookWHEREbname 大型数据库 特殊说明 若对象名称不符合上述规则 只要在名称的前后加上中括号 该名称就变成合法标识符了 但标识符的长度仍不能超过128个字符 这就是分隔标识符 例 SELECT FROM MyTable WHERE order

5、 10 19 05 2020 7 注释是程序中不被执行的正文 注释有两个作用 一 说明代码的含义 增强代码的可读性 二 可以把程序中暂时不用的语句注释掉 使它们暂时不被执行 等需要这些语句时 再将它们恢复 SQLServer的注释有两种 1 两个减号 用于注释单行 2 用于注释多行 注释 19 05 2020 8 例 通过注释说明语句功能USE学生图书借阅管理GODECLARE 学号varchar 10 姓名varchar 8 声明变量 将查询结果赋值给变量 SELECT 学号 学号 姓名 姓名FROM学生信息WHERE借书证号 00002 SELECT 学号AS学号 姓名AS姓名 显示变量内

6、容 19 05 2020 9 数据类型 19 05 2020 10 用户自定义数据类型可以利用sp addtype和企业管理器创建用户自定义数据类型 所创建的自定义类型可以用在ALTERDATABASE和CREATEDATABASE语句中定义数据库列 例 创建不允许空值的用户定义数据类型 名为ssn 基于varchar型 长度11 EXECSP ADDTYPESSN VARCHAR 11 NOTNULL 例 创建一个名字为birthday的用户定义数据类型 基于smalldatetime型 该列允许空值 EXECSP ADDTYPEbirthday smalldatetime NULL 19

7、05 2020 11 常量 常量也称为字面值或标量值 是表示一个特定数据值的符号 常量是指在程序运行过程中 其值不会改变的量 19 05 2020 12 变量 数据在内存中存储的可以变化的量叫变量 变量由用户定义并可赋值的实体 为了在内存存储信息 用户必须指定存储信息的单元 并为该单元命名 以方便获取信息 这就是变量的功能 T SQL可以使用两种变量 全局变量和局部变量 其主要区别在于存储的数据作用范围不一样 全局变量 由系统维护和定义 名字由两个 符号开始 局部变量 用DECLARE语句声明并且由SET语句或SELECT语句赋值 它只能用在声明该变量的过程体内 名字由一个 符号开始 19 0

8、5 2020 13 变量 全局变量 全局变量 globalvariable 以 为名称开头 是由SQLServer系统提供及赋值 用来保存一些系统的信息 由系统提供且预先声明的用来保存SQLServer系统运行状态数据值的变量 用户不能建立全局变量 也不可能使用SET语句去修改全局变量的值 通常应该将全局变量的值赋给在同一个批中的局部变量 以便保存和处理 全局变量分为两类 与连接有关的全局变量 如 rowcount 影响的行数 与系统内部信息有关的全局变量 如 version SQL的版本号 19 05 2020 14 SQL常用的全局变量表 19 05 2020 15 例 使用SELECT语

9、句查询全局变量 select versionas版本select languageas语言 19 05 2020 16 变量 局部变量 局部变量 localvariable 以 为变量名称开头 是用户可自定义的变量 它的作用范围仅在程序内部 是用来存储指定数据类型的单个数据值的对象 我们可用这些变量来保存数值 字符串等数据 局部变量应用于批处理 用户自定义函数 存储过程或触发器中 用来保存指定的数据或函数 在SQLServer中 局部变量用DECLARE语句声明 定义 且一次可以声明多个变量 所有局部变量在声明后均初始化为NULL 并由SET语句或SELECT语句赋值 它只能用在声明该变量的过

10、程实体中 即使用范围是定义它的批 存储过程和触发器等 其名字由一个 符号开始 19 05 2020 17 其中 局部变量名称必须以符号 开头 必须符合标识符命名规则 数据类型是任何由系统提供的或用户定义的数据类型 变量不能是text ntext或image数据类型 用DECLARE语句声明变量 并用SET或SELECT语句给其指派值 必须在同一个批处理中或存储过程中声明 设置初始值和使用局部变量 所有变量在声明后均初始化为NULL 定义 DECLARE局部变量名数据类型 n 赋值 SET局部变量名 表达式 n 19 05 2020 18 例 使用SELECT语句查询局部变量 declare 整

11、型变量int snvarchar 9 set 整型变量 40set s 欢迎您来到西安 select 整型变量 s 19 05 2020 19 例 创建并使用局部变量Use学生成绩GODECLARE studentidCHAR 8 maxscoreNUMERIC 9 SET maxscore SELECTMAX 课程成绩 FROM成绩表 SET studentid SELECT学号FROM成绩表WHERE课程成绩 maxscore SELECT studentid 学号 maxscore 最高成绩 GO 19 05 2020 20 例 声明两个变量 然后使用SET和SELECT为已声明的变量赋

12、值 再使用这两个变量查询 图书信息 表中价格小于50 且出版社为 清华大学出版社 的书籍信息 USE学生图书借阅管理DECLARE 定价decimal 4 1 出版社名称varchar 20 SET 定价 50SELECT 出版社名称 清华大学出版社 在查询语句的where子句的条件表达式中可以引用变量 SELECT FROM图书信息WHERE定价 定价AND出版社名称 出版社名称GO 19 05 2020 21 例 将 学生信息 表中 借书证号 的后一位是2的学生的学号 姓名分别赋值给 学号 和 姓名 变量 USE学生图书借阅管理GODECLARE 学号var 10 姓名varchar 8

13、SELECT 学号 学号 姓名 姓名 为变量赋值FROM学生信息WHERE借书证号LIKE 0 9 0 9 0 9 0 9 2 SELECT 学号AS学号 姓名AS姓名 利用SELECT语句显示变量内容 19 05 2020 22 SELECE语句无源查询 无源select语句是用来查询常量 变量 函数 表达式值的语句 SELECT语句无源查询就是最简单的语句 SELECT常量 变量 函数 表达式 as别名 n 所谓无源查询就是使用SELECT语句来查询不在表中的数据 无源查询实质上就是在客户机屏幕上显示出常量 变量或表达式的值 例 使用SELECT语句查看常量 select 我是中国人 19

14、 05 2020 23 运算符及表达式 运算符是一种符号 用来指定要在一个或多个表达式中执行的操作 SQLServer2000在T SQL编程语言中常使用下列几类运算符 算术运算符 赋值运算符 按位运算符 比较运算符 逻辑运算符 字符串连接运算符和一元运算符 算术运算字符串连接运算赋值运算符比较运算逻辑运算位运算符一元运算符 单目运算符 运算符优先级 19 05 2020 24 算术运算 算术运算符包括 加 减 乘 除 和 整数相除的余数 用于数值和日期时间的运算 参与运算的数据是数值类型数据 其运算结果也是数值类型数据 加 和减 运算符也可用于对日期型数据进行运算 还可进行数值性字符数据与数

15、值类型数据进行运算 19 05 2020 25 例 算术运算SELECT3 2 3 2 9 4SELECTgetdate 20AS今天的前20天 getdate 20AS过20天后的日期SELECT 125127 15 125127 15 19 05 2020 26 例 查看租借信息表中 图书编号为 100002 的图书被借的前一天的日期和后一天的日期 SELECT借书日期 1AS被借前一天的日期 借书日期 1AS被借后一天的日期FROM租借信息WHERE图书编号 100002 19 05 2020 27 字符串连接运算 字符串连接运算符号为 是用来连接字符串的 它可连接字符串变量 列及字符串

16、表达式 若有其他数据类型的数据要与字符串相加 则必须转换为字符类型 参与字符串连接运算的数据只能是字符数据类型 char varchar nchar nvarchar text ntext 其运算结果也是字符数据类型 例 字符串连接运算 select 计算机系 ltrim 网络专业 select 计算机系 space 5 网络专业 19 05 2020 28 赋值运算符 赋值运算符只有一个 那就是 等号 用来将数值或字符串指定给字段或变量 例 赋值运算SELECT 学号 学号 姓名 姓名 为变量赋值 19 05 2020 29 比较运算 比较运算符又称关系运算符 用于测试两个表达式的值之间的关系 其运算结果为布尔类型的值TRUE或者FALSE 除text ntext或image类型的数据外 比较运算符可以用于所有的表达式 常用比较运算符 大于 大于等于 等于 不等于 小于 小于等于 测试两个相同类型表达式的顺序 大小 相同与否 数值大小的比较 字符串排列顺序的前后比较 日期数据前后比较 结果 正确 TRUE 错误 FALSE 未知 UNKNOWN 用途 if语句和while语句的条件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号