数据库系统技术 项目五 使用T-SQL命令定义数据库和表
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
根据功能来划分SQL语言分为四类
SQL功能名称 数据查询 数据操纵
SQL功能英文简称和全称
DQL(Data Query Language) DML(Data Manipulation Language)
SQL语句
SELECT INSERT UPDATE DELETE
数据定义
DQL(Data Definition Language)
DECLARE @变量名 变量类型 [,@变量名 变量类型]
T-SQL中的常量赋值
在T-SQL 中不能像在高级程序语言中使用
变量名=变量值
这样的方法来给变量赋值,必须使用SET命令或SELECT命令 来给变量赋值,SET命令一次只能给一个变量赋值,而
SELECT命令一次可以给多个变量赋值。
其语法如下:
SET SELECT
@局部变量名 = 变量值 @局部变量名 = 变量值[,@变量名 变量类型]
演示教材中的例5-1
T-SQL中的全局变量
全局变量是由SQL Server 系统定义并使用的变量,用户不能 定义全局变量,但可以使用全局变量。全局变量通常存储SQL Server 的配置参数和性能统计数据,用户可在程序中用全局 变量来测试系统性能或获取T-SQL命令执行后的状态值。
T-SQLห้องสมุดไป่ตู้的常量和变量
常量,是表示一个特定数据值的符号,常量的类型取决于它 所表示的值的数据类型。在SQL Server 中,有字符串常量、 二进制常量、BIT常量、日期和时间常量等。 变量是指在程序运行过程中,值可以发生变化的量。在TSQL 中可以使用两种类型变量:一种是局部变量,另外一种 是全局变量。 局部变量是用户自定义的变量,在T-SQL使用局部变量命名 必须以“@”开头,如@xh,@xm。局部变量必须先用DECLARE 定义后才可使用,其语法如下:
SQL语句的执行方式主要有四种,分别是:直接调 用执行、嵌入式执行、模块绑定执行和通过调用层 接口(CLI)执行。常用的是直接调用执行和通过 调用层接口(CLI)执行这两种。 演示使用SSMS直接执行T-SQL语句。
T-SQL语言中的标识符 标识符:在T-SQL语言中,对数据库、表、变量、 存储过程、函数等的定义和引用都需要通过其名称 (标识符)来完成。 我们所说的标识符,实际上就是我们给对象起的名 称,本质上是一个字符串。
项目五 使用T-SQL命令定义数据库和表
1 2
了解T-SQL语言 T-SQL语言基础 使用T-SQL命令定义数据库 使用T-SQL命令定义表
3 4
了解T-SQL语言
初识T-SQL语言
T-SQL语言的开发环境
T-SQL语言标识符及语法约定
SQL语言
SQL是Structured Query Language的缩写,译为结构化查询 语言,最早的SQL语言于1979年在IBM公司的关系数据库系统 System R得到实现。 1986年10月美国国家标准化学会(ANSI)采用SQL作为关系 数据库管理系统的标准语言,并公布了第一个SQL标准,称 为SQL-86。 随后国际标准化组织(ISO)也接纳了这一标准,并对其作 进一步的完善,这项工作于1989年4月完成,公布后就是我 们所说的SQL-89。
SQL语言
在上面的基础上,ISO和ANSI联手对SQL进行研究和完善,于 1992年8月又推出了新的SQL标准—SQL-92(或简称为SQL2)。 后来又对SQL-92进行了完善和扩充,于1999年推出了SQL-99 (或简称为SQL3),这是最新的SQL版本。
现今的SQL语言已经发展成为关系数据库的标准语言,几乎 所有的数据库产品都支持SQL语言。当然除了SQL以外,还有 其它类似的一些数据库语言,如QBE、Quel、Datalog等,但 这些语言仅仅少数人在使用并不是主流的数据库语言。
省略号“…”:表示重复前面的语法项目。
项目五 使用T-SQL命令定义数据库和表
1 2
了解T-SQL语言 T-SQL语言基础 使用T-SQL命令定义数据库 使用T-SQL命令定义表
3 4
T-SQL语言基础
T-SQL中的常量和变量
T-SQL中的运算符 T-SQL中的函数 T-SQL中的批处理 T-SQL中的流程控制语句 T-SQL中的功能性语句
T-SQL中的运算符
运算符是一种符号,用来指定在一个或多个表达式中执行 的操作。 SQL Server 提供的运算符有:
算术运算符
赋值运算符
位运算符 比较运算符
逻辑运算符
字符串连接运算符 一元运算符等。
T-SQL中的运算符
重点掌握算术运算符、赋值运算符、比较运算符、 逻辑运算符和字符串连接运算符。
功能
定义语句块 判断语句 检测语句 多分支判断语句 循环语句 跳出循环语句 重新启用循环语句 跳转语句 返回语句 延期执行语句
T-SQL中的流程控制语句
演示教材中例5-9 至例5-11。
T-SQL中的注释语句
注释是指程序代码中不执行的文本字符串,是对程 序的说明,可以提高程序的可读性,使程序代码更 易于维护,一般嵌入在程序中并以特殊的标记显示 出来。在T-SQL中,注释可以包含在批处理、存储 过程、触发器中。 T-SQL中有两种类型的注释符:
标识符分为常规标识符和分隔标识符两种
常规标识符:是不包含空格的标识符,可以不需要使用单 引号或方括号将其分隔的标识符。定义常规标识符时要符 合以下规则:标识符中首字符必须是英文字母、汉字、数 下划线(_)、 @和#,首字符后面可以是其它字符,最长 不超过128个字符,不能和T-SQL语言中的关键字重复,也 不能用@@开头。
创建数据库命令CREATE DATABASE
最简单的CREATE DATABASE命令格式 CREATE DATABASE database_name 指定数据库文件名称和位置的CREATE DATABASE命令格式 CREATE DATABASE database_name ON PRIMARY( --这里的关键字PRIMARY可省略,用于主文件的定义 NAME=logical_file_name, --设置主数据文件的逻辑名称 FILENAME=os_file_name --设置主数据文件的操作系统名称 ) LOG ON ( --LOG ON用于日志文件的定义 NAME=logical_file_name, --设置日志文件的逻辑名称 FILENAME=os_file_name --设置日志文件的操作系统名称 )
分隔标识符:是指包含在两个单引号(’’)或者方括号 ([ ])内的字符串,这些字符串中可以包含空格。
T-SQL的语法约定
大写字母:代表T-SQL中保留的关键字,如CREATE、SELECT、 UPDATE、DELETE等。 小写字母:表示表达式、标识符等。 竖线“|”:表示参数之间是“或”的关系,用户可以从其中 选择使用。 大括号“{}”:大括号中的内容为必选参数,其中可以包含多 个选项,各个选项之间用竖线分隔,用户必须从选项中选择 其中一项。 方括号“[]”:方括号内所列出的项为可选项,用户可以根据 需要选择使用。
项目五 使用T-SQL命令定义数据库和表
1 2
了解T-SQL语言 T-SQL语言基础 使用T-SQL命令定义数据库 使用T-SQL命令定义表
3 4
使用T-SQL命令定义数据库
数据库在Windows操作系统中体现为数据库文件,数 据库文件包括数据文件和日志文件两大类。
我们在这一任务中介绍创建数据库的命令CREATE DATABASE、修改数据库命令ALTER DATABASE和删除 数据库命令DROP DATABASE。
使用全局变量必须注意的事项
全局变量全部以“@@”为标记
全局变量不是由用户定义的,而是由数据库服务器 定义的。 用户只能使用SQL Server 数据库系统预先定义的全 局变量。
引用全局变量时,必须以标记符“@@”开头。 局部变量的名称不能与全局变量的名称相同,否则 会在应用中出错。
--:这是ANSI标准的两个连字符组成的注释符,用于单 行注释。 /*…*/:这是与C语言相同的程序注释符,/*用于注释文 字的开头,*/用于注释文字的结尾,可以在程序中标识多 行文字为注释语句。
T-SQL中的输出语句
输出语句PRINT语句用于把消息传递到客户端应用 程序,通常是在用户屏幕上显示,消息字符串最长 可达8000个字符,超过8000个的任何字符均被截断。 PRINT语句只能传输文本型的字符串,或者是单个 的字符型变量。 PRINT语句也可以传递全局变量,但只能是字符类 型的全局变量。
T-SQL语言即事务SQL(Transact-SQL),简称为T-SQL。TSQL在SQL语言的基础上增加了变量、流程控制、功能函数、 系统存储过程等功能,提供了丰富的编程结构。 T-SQL是对SQL语言扩充的基础上发展起来的,因此它的核心 内容还是SQL语言中的四类语句。
T-SQL语言的开发环境
T-SQL中的批处理
批处理是指包含一条或多条T-SQL语句的语句组,批处理中
的所有T-SQL语句编译成一个执行计划,从应用程序一次性
地发送到SQL Server 数据库服务器执行。 编写批处理时,GO语句是批处理命令的结束标志,当编译器 读取到GO语句时,会把GO语句前的所有语句当作一个批处理, 并将这些语句打包发送给数据库服务器。
全局变量
@@SERVERNAME @@VERSION @@OPTIONS @@TRANCOUNT @@CPU_BUSY @@ROWCOUNT @@ERROR
含义
返回运行SQL Server数据库的地服务器名称 返回SQL Server当前安装版本信息 返回当前SET选项的信息 返回当前连接的活动事务数 返回SQL Server最近一次启动以来CPU工作时间 返回受前一条SQL语句影响的行数 返回最后执行的SQL语句的错误代码
CREATE ALTER DROP
GRANT REVOKE
数据控制
DQL(Data Control Language)
T-SQL语言
不同的数据库软件厂商一方面采纳SQL语言作为自己的数据 库的语言,另一方面又对SQL语言进行了不同程度的扩展。 而T-SQL语言正是微软公司在其SQL Server关系数据库系统 中的实现。
GO语句本身不是T-SQL语句的组成部分,只是一个表示批处
理结束的前端指令。
T-SQL中的流程控制语句
流程控制语句用于控制SQL语句、语句块的执行顺序,T-SQL 中的流程控制语句以及功能如下表所示。 语句
BEGIN…END IF…ELSE IF…EXISTS CASE…WHEN WHILE BREAK CONTINUE GOTO RETUEN WAIT FOR
部分选项参数设置
选项
SET STATISTICS TIME
值
ON
含义
让服务器返回语句的运行时间
SET STATISTICS IO
SET SHOWPLAN SET PARSONLY SET ROWCOUNT SET NOCOUNT
ON
ON ON n ON
让服务器返回请示的物理和逻辑页数
让服务器返回当前正在运行的计划中的查询 让服务器对查询进行语法检查但并不运行 让服务器只返回查询中的前n行 不必报告查询所返回的行数
演示教材中例5-2 至例5-5。
T-SQL中的运算符
SQL Server 提供了许多内部函数,可以分为数学函 数、字符串函数、日期函数、聚合函数、系统函数 及用户自定义函数等。 函数给用户提供了强大的功能,使用户不需要编写 很多代码就能够完成某些任务和操作。 演示教材中例5-6 至例5-8。
选项设置语句(SET)
SQL Server 2008数据库系统中设置了一些选项,用 以影响服务器处理特定条件的方式,这些选项存在 于用户与服务器的连接期间或用户的存储过程和触 发器中,可以使用SET语句设置这些参数。 语法如下:
SET condition {on | off | Value}