[计算机软件及应用]第8章 Transact SQL.ppt

[计算机软件及应用]第8章 Transact SQL

第8章 Transact-SQL语言基础 本章学习目标: 掌握常量和变量的使用方法 掌握运算符和表达式的使用 掌握函数的定义和使用方法 掌握流程控制语句的使用 理解游标的概念 掌握游标的定义和使用方法 8.1 概述 SQL是结构化查询语言(Structured Query Language)的缩写,是一种数据库应用语言。SQL最早是IBM的圣约瑟研究实验室为其关系数据库管理系统System R开发的一种查询语言,由于其结构简洁,功能强大,简单易学,所以得到了广泛的应用,目前大多数数据库供应商都支持SQL语言作为查询语言。 美国国家标准局(ANSI)在1986年制定了SQL标准,称为ANSI SQL-86,并于1989年和1992年对其进行了扩充和完善,即ANSI SQL-89和ANSI SQL-92。Microsoft公司采用Transact-SQL作为SQL Server的核心组件,简称T-SQL。T-SQL遵循ANSI制定的 SQL-92标准,并对其进行了扩展,加入了程序流程控制结构、变量和其它一些元素,增强了可编程性和灵活性。 8.1 概述(续) Transact-SQL语言包括以下四个部分: 数据定义语言(DDL):定义和管理数据库及其对象,例如:Create、Alter和Drop等语句。 数据操作语言(DML):操作数据库中各对象,例如:Insert、Update、Delete和Select语句。 数据控制语言(DCL):进行安全管理和权限管理等,例如:Grant、Revoke、Deny等语句。 附加的语言元素:Transact-SQL语言的附加语言元素,包括变量、运算符、函数、注释和流程控制语句等。 8.2表达式 表达式是指将常量、变量、函数等,用运算符按一定的规则连接起来的有意义的式子。 8.2.1 常量 常量,也称为文字值或标量值,是表示一个特定数据值的符号,在程序运行过程中其值保持不变,例如12,23,‘good luck’等。 常量的格式取决于它所表示的值的数据类型 8.2.1 常量(续) 1.字符串常量 字符串常量括在单引号内并包含字母、数字字符(a-z、A-Z 和 0-9)以及特殊字符,如!、@ 和#。如果已为某个连接将 QUOTED_IDENTIFIER 选项设置成 Off,则字符串也可以使用双引号括起来,但建议使用单引号。 如果单引号中的字符串包含一个嵌入的引号,可以使用两个单引号表示嵌入的单引号,空字符串用中间没有任何字符的两个单引号表示。 8.2.1 常量(续) Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符。N 前缀必须是大写字母。例如,Mike 是字符串常量而 NMike 则是 Unicode 常量。 2.数值常量 数值常量以没有用引号括起来的数字字符串来表示,包括Integer常量、Decimal常量、Float和Real常量等,其中Integer常量没有小数点,例如100,54等;Decimal常量包含小数点,例如123.45,5.6等;Float 和 Real 常量使用科学记数法来表示,例如123E2,0.3E-3等。 如果要表示一个数是正数还是负数,可以对数值常量应用 + 或 -运算符。 8.2.1 常量(续) 3.日期时间常量 日期时间常量使用特定格式的字符日期时间值来表示,并被单引号括起来,例如12/8/2008,December 8, 2008,21:14:20等。 另外,二进制常量用以加前缀0x的十六进制形式表示,例如0x23EA5、0xBF23A等。Bit常量用不加引号的数字0和1表示,如果使用大于1的数字表示,则转换为1。 8.2.1 常量(续) 4.空值 空值是一个特殊的量,表示值未知,不同于空白或零值,用Null来表示。比较两个空值或将空值与任何其他值相比均返回未知,这是因为每个空值均为未知。若要在查询中测试是否为空值,应该在Where语句中使用is Null 或is not Null,而不能使用=Null。在往表中添加记录时,如果不对某一列赋值则系统自动让该列取空值,或者也可以在Insert语句或Update语句中显式地对某列赋空值。 8.2.2 变量 变量是可以对其赋值并参与运算的一个实体,其值在运行过程中可以发生改变。变量可以分为全局变量和局部变量两类,其中全局变量由系统定义并维护,局部变量由用户定义并赋值。局部变量的用法非常广泛,除了可以参加运算构成表达式之外,还可以在程序中保存中间结果、控制循环执行次数、保存存储过程的输出结果和函数的返回值等。 1. 全局变量 全局变量由系统定义,通常用来跟踪服务器范围和特定会话期间的信息,不能被用户显式地定义和赋值,但是我们可以通过访问全局变量来了解系统目前的一些状态信息 表8.1 S

文档评论(0)

1亿VIP精品文档

相关文档