第5讲 T-SQL编程基础.ppt
《第5讲 T-SQL编程基础.ppt》由会员分享,可在线阅读,更多相关《第5讲 T-SQL编程基础.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 5 讲 T-SQL 编程基础哈尔哈尔滨师范大范大学学恒星恒星学学院院本本讲主要主要内内容容T-SQL 程序语言概况程序语言概况T-SQL 程序语言基础程序语言基础 运算符与函数运算符与函数常用工具简介常用工具简介 123 Transact-SQL语言语言(简称简称 T-SQL 语言语言),是是由由 Microsoft 公司开发的一种公司开发的一种 SQL 语言语言,它是它是标准标准 SQL 程序设计语言的增强版程序设计语言的增强版,使得应用程使得应用程序与序与 SQL Server 数据库引擎沟通数据库引擎沟通.T-SQL 提供了标准提供了标准 SQL 的的 DDL、DCL 和和DML功能
2、功能,加上加上扩展的函数扩展的函数、系统存储过程以及系统存储过程以及程序设计结构程序设计结构(例如例如 IF 和和 WHILE)让程序设计让程序设计更有灵活性更有灵活性,还可以实现对数据库管理的功能还可以实现对数据库管理的功能.T-SQL 语言是语言是 SQL Server 的核心的核心.一一.T-SQL T-SQL 程序语言概况程序语言概况 随着随着 Microsoft SQL Server 版本的演进,版本的演进,衍生自衍生自 ANSI SQL 的的 T-SQL语言变得独立且功语言变得独立且功能强大,拥有众多用户,是解决各种数据问题能强大,拥有众多用户,是解决各种数据问题的主流语言的主流语
3、言.在在 SQL Server 的功能大量扩增并的功能大量扩增并广泛进入企业各系统后,日益庞大的数据量让广泛进入企业各系统后,日益庞大的数据量让 T-SQL 发挥了重要的作用发挥了重要的作用.T-SQL 语言主要包括三种类型的语句语言主要包括三种类型的语句:数据定义语言数据定义语言(Date Definition Language,DDL),数据控制语言数据控制语言(Date Control Language,DCL),数据操纵语言数据操纵语言(Date Manipulation Language,DML),简要介绍如下简要介绍如下.数据定义语言数据定义语言(DDL),除了可以用来建立数据库除
4、了可以用来建立数据库与数据库相关对象之外与数据库相关对象之外,还可以修改及删除数据库还可以修改及删除数据库对象对象.例如例如,数据库数据库、表及视图等对象表及视图等对象.T-SQL程序语言的分类程序语言的分类数据定义语言数据定义语言 说说 明明CREATE建立数据库对象建立数据库对象ALTER修改数据库对象修改数据库对象DROP将该数据库对象删除将该数据库对象删除表表5-1 数据定义语言数据定义语言(DDL)USE pubsCREATE TABLE myOrders (OrderID int,OrderDate smalldatetime,CustomerID Char(10),ShipDdd
5、ress varchar(100)数据控制语言数据控制语言(DCL)用来设置用户对数据库用来设置用户对数据库对象的访问权限对象的访问权限,如下表如下表.数据控制语言数据控制语言说说 明明GRANT赋予某个用户具有数据库对象的权限赋予某个用户具有数据库对象的权限DENY禁止使用该数据库对象禁止使用该数据库对象,且不能继承且不能继承REVOKE收回之前设置的权限收回之前设置的权限表表5-2 数据控制语言数据控制语言(DCL)GRANT SELECT ON myOrders TO Jack 数据操纵语言数据操纵语言(DML)用来访问表中的数据用来访问表中的数据,下表下表5-3 列出了每个语句的使用方
6、式列出了每个语句的使用方式.数据操纵语言数据操纵语言说说 明明SELECT从表或视图中选择行从表或视图中选择行INSERT将行插入到表或视图中将行插入到表或视图中UPDATE在表或视图中更新行在表或视图中更新行DELETE在表或视图中删除行在表或视图中删除行表表5-3 数据操纵语言数据操纵语言(DML)SELECT *FROM myOrders T-SQL语言的目的在于为处理大量数据提语言的目的在于为处理大量数据提供必要的结构化处理能力,因此,它并没有提供必要的结构化处理能力,因此,它并没有提供供 VB 和和 C 所具有的某些语言特性所具有的某些语言特性.其它功能其它功能仍需要前端设计工具仍需
7、要前端设计工具(如如FoxPro、Delphi、Java 和和 VB 等等)来处理来处理.所以,所以,一般称一般称 SQL Server、Oracle 和和 mySQL 等数据库等数据库管理系统为管理系统为“数据库引擎数据库引擎”.二二.T-SQL 程序语言基础程序语言基础 批处理是由一条或多条批处理是由一条或多条 T-SQL 语句构成语句构成,应用程序将它作为单个代码单元发送给系统应用程序将它作为单个代码单元发送给系统.SQL 脚本文件或者脚本文件或者查询编辑器查询编辑器的窗口都的窗口都可以包含多个批处理可以包含多个批处理.在这种情况下,需要使用批处理分隔符关在这种情况下,需要使用批处理分隔
8、符关键字键字 GO 来结束每一个批处理来结束每一个批处理.使用使用 GO 来结束批处理时,只能把它自己来结束批处理时,只能把它自己放在单独的一行上放在单独的一行上.结束一个批处理时,将会释放所有由该批结束一个批处理时,将会释放所有由该批处理所创建的局部变量、临时表、游标处理所创建的局部变量、临时表、游标.1.T-SQL批处理批处理 -以下代码会列出该服务器上所有的数据库名称以下代码会列出该服务器上所有的数据库名称SELECT name FROM sys.databases实战练习实战练习 -查询登录的用户账号查询登录的用户账号,使用的数据库与当前的数据库服务使用的数据库与当前的数据库服务器的系
9、统日期和时间器的系统日期和时间SELECT SUSER_SNAME(),DB_NAME(),GETDATE()在在 SSMS 的工具条上会标明当前的数据的工具条上会标明当前的数据库,你也可以使用它来改变当前的数据库库,你也可以使用它来改变当前的数据库.在代码中,则可以使用在代码中,则可以使用 USE 命令来选定命令来选定当前的数据库当前的数据库.使用使用 USE 命令来显式地选定正确的数据命令来显式地选定正确的数据库是一种好的开发方法,不要把选定正确的数库是一种好的开发方法,不要把选定正确的数据库交给用户去做据库交给用户去做.切换数据库切换数据库 有些特殊的有些特殊的 T-SQL 命令必须单独
10、地放在命令必须单独地放在它自己的批处理之中,或者说必须将它们与其它自己的批处理之中,或者说必须将它们与其他的批处理命令分别放到不同的批处理中他的批处理命令分别放到不同的批处理中.数据定义语言命令(数据定义语言命令(CREATE、ALTER和和 DELETE)就是这样)就是这样 T-SQL 命令,命令,应当将应当将它们放到他们自己的批处理中去,这是一项要它们放到他们自己的批处理中去,这是一项要牢记的规则牢记的规则.DDL命令命令 可以在查询编辑器中打开一个可以在查询编辑器中打开一个.sql 脚本脚本文件,按下文件,按下 F5 键或者选择工具栏中的键或者选择工具栏中的 !执行执行项来执行一个项来执
11、行一个 SQL 脚本程序中的全部批处理脚本程序中的全部批处理.在查询编辑器中可以通过在查询编辑器中可以通过突出显示突出显示来选择来选择一些命令,然后执行这些选定的一些命令,然后执行这些选定的 T-SQL 命令命令.在应用程序中在应用程序中,可以通过使用可以通过使用 ADO 或者或者ODBC 来提交并执行来提交并执行 T-SQL 批处理批处理.执行批处理执行批处理 对于对于 T-SQL 代码应代码应格式化格式化,以方便阅读,以方便阅读.T-SQL 命令往往都会写得较长命令往往都会写得较长.但但T-SQL会忽略空格和行尾的换行符,即不需要使用特会忽略空格和行尾的换行符,即不需要使用特殊的续行符号来
12、编写长达数行的殊的续行符号来编写长达数行的 T-SQL 命令命令,从而显著地提高了从而显著地提高了 T-SQL 代码的可读性代码的可读性.注释符号注释符号(略略).2.2.格式化格式化 T-SQL 代码代码 在完成程序代码的编写后,可以单击在完成程序代码的编写后,可以单击”文件文件”菜单中的菜单中的”保存保存”或或”另存为另存为”选项选项,将程序将程序代码存为代码存为*.sql 文件文件.该文件是文本格式该文件是文本格式,故可故可以以使用任何文本编辑器使用任何文本编辑器(如如 NotePad,UltraEdit)来来进行编辑进行编辑.若先前已经打开多个若先前已经打开多个”查询编辑器查询编辑器”
13、窗口窗口,并并编写了多个文件编写了多个文件,则可以使用则可以使用”保存全部查询保存全部查询”的方式来保存所有的程序代码的方式来保存所有的程序代码.3.3.保存程序代码保存程序代码 在在 T-SQL 中可以使用两种变量,中可以使用两种变量,一种是局一种是局部变量(部变量(Local Variable),另外一种是全局变),另外一种是全局变量(量(Global Variable).局部变量局部变量 局部变量是用户可自定义的变量,它的作用局部变量是用户可自定义的变量,它的作用范围仅在程序内部范围仅在程序内部.局部变量必须以局部变量必须以 开头,而且必须先作说开头,而且必须先作说明:明:DECLARE
14、 变量名变量名 变量类型变量类型4.4.变量变量 在在 T-SQL 中对变量赋值的语法如下:中对变量赋值的语法如下:SELECT 局部变量局部变量=变量值变量值 SET 局部变量局部变量=变量值变量值 两种赋值命令的主要两种赋值命令的主要区别区别在于:在于:SELECT 可以从表、子查询或者视图中检可以从表、子查询或者视图中检索数据,也可以包含其它的索数据,也可以包含其它的 SELECT 子句子句,并且并且一次可为多个变量赋值一次可为多个变量赋值.SET 只能从表达式中获取数据只能从表达式中获取数据.两个命令中都可以使用函数两个命令中都可以使用函数.变量的赋值变量的赋值 问题问题1 考虑下面的
15、程序会有什么结果:考虑下面的程序会有什么结果:DECLARE strName CHAR(10)SELECT strName=SmallFish PRINT strName GO 问题问题2 考虑下面程序运行的结果:考虑下面程序运行的结果:DECLARE Test INT,TestTwo NVARCHAR(25)PRINT Test PRINT TestTwo SET Test=1 SET TestTwo=a value GO PRINT Test -问题问题3 考虑下面程序运行的结果:考虑下面程序运行的结果:USE Northwind DECLARE TempID INT,TempLastNa
16、me VARCHAR(25)SET TempID=99 SELECT TempID=EmployeeID,TempLastName=LName FROM dbo.employee SELECT TempID,TempLastName 全局变量是可以调用的系统变量,全局变量是可以调用的系统变量,它们是只读的,不它们是只读的,不能被创建能被创建.它们的作用是提供系统的信息它们的作用是提供系统的信息.全局变量以全局变量以 开头,最常用的有:开头,最常用的有:Error-最近一次执行的最近一次执行的 T-SQL 语句的错误编号语句的错误编号 Identity-为当前连接所生成的最后一个标识值为当前连接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5讲 T-SQL编程基础 SQL 编程 基础
限制150内