欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    数据库系统02-Transact-SQL程序语言基础.ppt

    • 资源ID:5985726       资源大小:266KB        全文页数:35页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库系统02-Transact-SQL程序语言基础.ppt

    第 2 讲 Transact-SQL 程序语言基础,一、SQL 程序语言简介二、T-SQL 程序语言简介三、T-SQL 程序语言基础,一、SQL 程序语言简介,SQL 语言是用来访问关系数据库的语言.无论前端应用程序的用户接口为何(例如:VB.NET、Java 等),所有的应用程序都应该是以传送 SQL 语句到后端关系数据库服务器的方式来沟通.SQL全称是”Structured Query Language”,是1974年由Boyce和Chamberlin提出的,稍后在IBM公司开发关系型数据库管理系统时实现.,在关系数据库中,以集合(set)的方式来处理大量记录才有效率,使得 SQL语言无法被C#/Java/Visual Basic 等面向对象语言取代。而善用数据是信息系统成功的关键因素之一,现今大量交易、数据整合、商业智能的结构性需求大增,将使 SQL 显得更加重要。,使用 SQL 程序语言的目的在于让应用程序与数据的内部结构不会存在任何依赖关系,也就是所谓的”数据独立”.用户无须了解数据是如何存储在数据库和操作系统的文件中的,仅需利用SQL 程序语言就可以取得数据.如下例.,-取得 northwind 数据库,orders 订单表的数据SELECT*FROM northwind.dbo.orders,SQL 程序语言的主要功能有:插入、提取、修改与删除关系数据库中的数据.新建、修改、删除数据库与数据库相关对象.,SQL 程序语言已成为关系数据库的标准语言.美国国家标准局(ANSI)与国际标准化组织(ISO)为其制定了 SQL 标准,各数据库厂商都必须遵守该标准.目前已完成的标准有:ANSI SQL-92,ANSI SQL-99,ANSI SQL-2003 等.尽管不同厂家的关系数据库使用的 SQL版本有一些差异,但大多数都遵循相同的标准.,SQL 语言的结构 每条 SQL 语句均由一个谓词(Verb)开始,该谓词描述这条语句要产生的动作,例如 SELECT EMP_ID FROM EMPLOYEE WHERE E_WAGE3000 关键字谓词后紧跟着一个或多个子句,子句中给出了被谓词作用的数据或提供谓词动作的详细信息.每一条子句由一个关键字开始,如上例中的 WHERE.,Transact-SQL语言(简称 T-SQL 语言),是由 Microsoft 公司开发的一种 SQL 语言,它是标准 SQL 程序设计语言的增强版,使得应用程序与 SQL Server 数据库引擎沟通.T-SQL 提供了标准 SQL 的 DDL、DCL 和DML功能,加上扩展的函数、系统存储过程以及程序设计结构(例如 IF 和 WHILE)让程序设计更有灵活性,还可以实现对数据库管理的功能.T-SQL 语言是 SQL Server 的核心.,二、T-SQL 程序语言简介,随着 Microsoft SQL Server 版本的演进,衍生自 ANSI SQL 的 T-SQL语言变得独立且功能强大,拥有众多用户,是解决各种数据问题的主流语言。在 SQL Server 的功能大量扩增并广泛进入企业各系统后,日益庞大的数据量让 T-SQL 发挥了重要的作用。,T-SQL 程序语言的分类 T-SQL 语言主要包括三种类型的语句:数据定义语言(Date Definition Language,DDL),数据控制语言(Date Control Language,DCL),数据操纵语言(Date Manipulation Language,DML),简要介绍如下.数据定义语言(DDL),除了可以用来建立数据库与数据库相关对象之外,还可以修改及删除数据库对象.例如,数据库、表及视图等对象.,表2-1 数据定义语言(DDL),USE pubsCREATE TABLE myOrders(OrderID int,OrderDate datetime,CustomerIDChar(10),ShipDddress varchar(100),数据控制语言(DCL)用来设置用户对数据库对象的访问权限,如下表.,表2-2 数据控制语言(DCL),GRANT SELECT ON myOrders TO Jack,数据操纵语言(DML)用来访问表中的数据,下表2-3 列出了每个语句的使用方式.,表2-3 数据操纵语言(DML),SELECT*FROM myOrders,三、T-SQL 程序语言基础,T-SQL语言的目的在于为处理大量数据提供必要的结构化处理能力,因此,它并没有提供 VB 和 C 所具有的某些语言特性.其它功能仍需要前端设计工具(如FoxPro、Delphi、Java 和 VB 等)来处理.所以,一般称 SQL Server、Oracle 和 mySQL 等数据库管理系统为“数据库引擎”.1.T-SQL 批处理 批处理是由一条或多条 T-SQL 语句构成,应用程序将它作为单个代码单元发送给系统.,结束批处理 SQL 脚本文件或者查询分析器的窗口都可以包含多个批处理.在这种情况下,需要使用批处理分隔符关键字 go 来结束每一个批处理.使用 go 来结束批处理时,只能把它自己放在单独的一行上.结束一个批处理时,将会释放所有由该批处理所创建的局部变量、临时表、游标.,实战练习,-以下代码会列出该服务器上所有的数据库名称(mss2005)SELECT name FROM sys.databases,-以下代码会列出该服务器上所有的数据库名称(mss2k)SELECT name FROM master.dbo.Sysdatabases,切换数据库 在查询分析器的工具条上会标明当前的数据库,你也可以使用它来改变当前的数据库.在代码中,则可以使用 use 命令来选定当前的数据库.使用 use 命令来显式地选定正确的数据库是一种好的开发方法,不要把选定正确的数据库交给用户去做.,DDL命令 有些特殊的 T-SQL 命令必须单独地放在它自己的批处理之中,或者说必须将它们与其他的批处理命令分别放到不同的批处理中.数据定义语言命令(CREATE、ALTER和 DELETE)就是这样 T-SQL 命令,应当将它们放到他们自己的批处理中去,这是一项必须牢记的规则.,执行批处理 可以在查询分析器中打开一个.sql 脚本文件,按下 F5 键或者选择 查询 执行 菜单项来执行一个 SQL 脚本程序中的全部批处理.在查询分析器中可以通过突出显示来选择一些命令,然后执行这些选定的 T-SQL 命令.在应用程序中,可以通过使用 ADO 或者ODBC 来提交并执行 T-SQL 批处理.,2.格式化 T-SQL 代码 对于 T-SQL 代码应格式化,以方便阅读.T-SQL 命令往往都会写得较长.但T-SQL会忽略空格和行尾的换行符,即不需要使用特殊的续行符号来编写长达数行的 T-SQL 命令,从而显著地提高了 T-SQL 代码的可读性.注释符号(略).,3.保存程序代码 在完成程序代码的编写后,可以单击”文件”菜单中的”保存”或”另存为”选项,将程序代码存为*.sql 文件.该文件是文本格式,故可以使用任何文本编辑器(如 NotePad,UltraEdit)来进行编辑.若先前已经打开多个”查询分析器”窗口,并编写了多个文件,则可以使用”保存全部查询”的方式来保存所有的程序代码.,实战练习,-查询登录的用户账号,使用的数据库与当前的数据库服务器的系统日期和时间SELECT SUSER_SNAME(),DB_NAME(),GETDATE(),4.变量,在 T-SQL 中可以使用两种变量,一种是局部变量(Local Variable),另外一种是全局变量(Global Variable).局部变量 局部变量是用户可自定义的变量,它的作用范围仅在程序内部.局部变量必须以 开头,而且必须先作说明:DECLARE 变量名 变量类型,在 T-SQL 中变量的赋值有特殊的命令.语法如下:SELECT 局部变量=变量值或 SET 局部变量=变量值 两种赋值命令的主要区别在于:SELECT 可以从表、子查询或者视图中检索数据,并且也可以包含其它的 SELECT 子句.SET 只能从表达式中获取数据.两个命令中都可以使用函数.,问题1 考虑下面的程序会有什么结果: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,TempLastName VARCHAR(25)SET TempID=99 SELECT TempID=EmployeeID,TempLastName=LName FROM dbo.employee SELECT TempID,TempLastName,全局变量 全局变量是可以调用的系统变量,它们是只读的,不能被创建.它们的作用是提供系统的信息.全局变量以 开头,最常用的有:Error-最近一次执行的 T-SQL 语句的错误编号 Identity-为当前连接所生成的最后一个标识值 NestLevel-当前存储过程的最大嵌套层次数 ServerName-当前服务器的名字,5.流程控制,许多人对 T-SQL 的初步印象是它的流程控制命令较少.实际上,虽然它的流程控制命令没有其它语言那样丰富,但已经足够了.它为数据处理命令提供的布尔扩展-如EXISTS、IN 和CASE-补充了 IF 和 WHILE 语句的不足.IF 这个语句的特别之处在于:利用它只能对其后的一条语句的执行与否进行控制.同时,它也没有 THEN,以及 ENDIF 等命令.,例如 考虑下面程序运行的结果:IF 1=0 PRINT Line One PRINT Line Two 在这个脚本中,IF 条件应该返回一个假值,从而不会执行 IF 下面的第一条 PRINT 命令.,一个 IF 命令只能控制一条语句的执行与否,这显然缺乏实用性.要解决这个问题,可以使用 BEGIN/END 块,它可将多条命令作为一个整体.IF Condition BEGIN Multiple lines END,IF EXISTS()结构根据 SELECT 命令返回的结果集是否包含有行来进行判断.只要查询返回了一条记录,就可以停止执行查询,转而执行批处理中其他的语句,所以这种方法的速度更快.USE 商品库存 IF EXISTS(SELECT*FROM shangpin WHERE 产品数量=0)BEGIN PRINT 已有产品缺货 END,WHILECONTINUEBREAK WHILE 命令在设定的条件成立时,会重复执行命令行或程序块.其语法如下:WHILE BEGIN BREAK CONTIUNE 命令行|程序块 END其它控制命令参见教科书.,练习 用 T-SQL 语句编写程序,计算 1+2+100.,

    注意事项

    本文(数据库系统02-Transact-SQL程序语言基础.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开