09101数据库系统原理及应用-语法与流程控制
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据类型 数据类型
数字型 数字型 日期型 日期型 字符型 字符型
代表数字,包括各种整数如 int、tinyint、smallint 和 代表数字, 、 、 数字 bigint
代表日期和日期范围, 代表日期和日期范围,包括 datetime 和 日期和日期范围 smalldatetime 用于表示字符数据或字符串,包括 char、nchar、 于表示字符数据或字符串, 、 、 varchar 和 nvarchar
收回权限, 收回权限,并禁止从其他角 色继承许可权限
数据定义语言语句
数据定义语言语句用来执行数据库的任务、创建数据库以 数据定义语言语句用来执行数据库的任务、
及数据库中的各种对象,这些语句包括 及数据库中的各种对象,这些语句包括CREATE、ALTER、 、 、 DROP等语句。在Microsoft SQL Server 2000系统中, 等语句。 系统中, 等语句 系统中 数据库及其对象包括数据库、 缺省、规则、视图、 数据库及其对象包括数据库、表、缺省、规则、视图、触 发器、存储过程等。 发器、存储过程等。 这些对象的创建、 这些对象的创建、修改和删除等管理都可以通过使用 CREATE、ALTER、DROP等语句来完成 CREATE、ALTER、DROP等语句来完成。 等语句来完成。
二进制型
在存储与结构上与字符型数据相似,包括 binary 和 存储与结构上与字符型数据相似, varbinary
数据类型( 数据类型(续) 类型
惟一标识符(GUID) SQL 变量 代表 SQL Server 所支持的各种数据类型 图像和文本 表
代表一个全局的特殊标识符, 代表一个全局的特殊标识符,是一个 16 位 16 进 制的值
标识符 标识符(续)
限定标识符
当对象名称包含空格时 当保留关键字被用作对象名或对象部分的名字时 可以 中括号表示的括号标识符( ]) 用中括号表示的括号标识符([ ]) SELECT * FROM [含空格的表名] 含空格的 用双引号表示的引用标识符(“ ”) 双引号表示的引用标识符( SELECT * FROM “含空格的表名” 含空格的表名” 含空格的表名
语句 功能 说明 SELE CT INSE RT UPDA TE DELE TE
Hale Waihona Puke 从表或视图中检索数据 将数据插入到表或视图中 修改表或视图中的数据 从表或视图中删除数据
是使用最频繁的SQL语句之一 语句之一 是使用最频繁的
既可修改表或视图的一行数据, 既可修改表或视图的一行数据,也可 修改一组或全部数据 可根据条件删除指定的数据
数据库系统原理与应用
SQLServer2000编程— SQLServer2000编程—语法与流程控制 编程
教学目标
Transact-SQL语言是微软公司在关系型数据库管理 语言是微软公司在关系型数据库管理
系统Microsoft SQL Server中的实现。通过使用各 中的实现。 系统 中的实现 语句, 种Transact-SQL语句,可以完成 语句 可以完成SQL Server数据 数据 库中的各种操作。 库中的各种操作。
Transact-SQL语言的特点 Transact-SQL语言的特点
Transact-SQL语言是微软对 语言的扩展。 语言是微软对SQL语言的扩展 语言的扩展。 语言是微软对 Transact-SQL语言是一种交互式查询语言,具有功 语言是一种交互式查询语言, 语言是一种交互式查询语言
能强大、简单易学的特点。 能强大、简单易学的特点。 Transact-SQL语言有 个特点: 语言有4个特点 语言有 个特点: 一是一体化的特点,集数据定义语言、 一是一体化的特点,集数据定义语言、数据操纵语 数据控制语言和附加语言元素为一体。 言、数据控制语言和附加语言元素为一体。 二是两种使用方式, 二是两种使用方式,交互式和嵌入到高级语言的使 用方式。前者适合于非数据库专业人员使用, 用方式。前者适合于非数据库专业人员使用,后者 适合于数据库专业开发人员使用。 适合于数据库专业开发人员使用。 三是非过程化语言,只需要提出“干什么” 三是非过程化语言,只需要提出“干什么”,不需 要指出“如何干” 要指出“如何干”,语句的操作过程由系统自动完 成。 四是,类似于人的思维习惯,容易理解和掌握。 四是,类似于人的思维习惯,容易理解和掌握。
Transact-SQL语言的组成元素 Transact-SQL语言的组成元素
数据控制语言语句 数据定义语言语句 数据操纵语言语句 附加的语言元素
数据控制语言语句
安全性管理是分布式数据库系统的重要特征。 安全性管理是分布式数据库系统的重要特征。安全性管理就 是确保数据库中的数据和操作不能被未授权的用户使用和执 行。 数据控制语言语句就是用来进行安全性管理, 数据控制语言语句就是用来进行安全性管理,它可以确定哪 些用户可以查看或修改数据、或执行数据库中的操作等, 些用户可以查看或修改数据、或执行数据库中的操作等,这 些语句主要包括GRANT、DENY、REVOKE等语句。 等语句。 些语句主要包括 、 、 等语句
批处理命令
批处理是多条 批处理是多条Transact-SQL语句构成的集合。 语句构成的集合。 语句构成的集合
SQL Server将批处理语句进行编译形成一个可执 将批处理语句进行编译形成一个可执 行单元,称为执行计划。 行单元,称为执行计划。执行计划中的语句一次 执行每一条语句, 执行每一条语句,如果在编译过程中出现语法错 那么批处理中所有的语句均无法正常执行。 误,那么批处理中所有的语句均无法正常执行。 如果在运行阶段出现错误时, 如果在运行阶段出现错误时,一般都会中断当前 以及其后语句的执行,只有在少数情况下, 以及其后语句的执行,只有在少数情况下,如违 反约束时, 反约束时,仅中断当前出错的语句而继续执行其 他语句。 他语句。
注释
注释是程序代码中不执行的文本字符串。 注释是程序代码中不执行的文本字符串。在SQL Server中,可以使用两种类型的注释字符: 中 可以使用两种类型的注释字符: 一种是ANSI标准的注释符“--”,它用于单行注释; 一种是 标准的注释符“ ,它用于单行注释; 标准的注释符 另一种是与C语言相同的注释符号 语言相同的注释符号, 另一种是与 语言相同的注释符号,即“/* */”。 。
数据操纵语言语句
数据操纵语言语句,用来在数据库中操纵各种对象,检索和 数据操纵语言语句,用来在数据库中操纵各种对象,
修改数据,这些语句包括 修改数据,这些语句包括SELECT、INSERT、UPDATE、 、 、 、 DELETE等。SELECT语句是检索语句,可以从表中检索数 等 语句是检索语句, 语句是检索语句 语句是插入数据语句, 据。INSERT语句是插入数据语句,可以把数据插入到表中。 语句是插入数据语句 可以把数据插入到表中。 UPDATE语句是修改数据语句,可以对表中的数据进行修改。 语句是修改数据语句, 语句是修改数据语句 可以对表中的数据进行修改。 DELETE语句是删除数据语句,可以把表中的数据删除。这 语句是删除数据语句, 语句是删除数据语句 可以把表中的数据删除。 些语句都是操纵数据库的最常用到的语句。 些语句都是操纵数据库的最常用到的语句。
GO
向 SQL Server 描述由 Transact-SQL 语句组成 的批处理 实际上并不是 Transact-SQL 语句 EXECUTE /EXEC 用于执行用户定义的函数、系统存储过程、 用于执行用户定义的函数、系统存储过程、用户 自定义存储过程或一个扩展的存储过程 批处理内部, 在一个 Transact-SQL 批处理内部,EXEC 能控 制一个字符串的运行
附加的语言元素
附加的语言元素不是 SQL-3的标准内容,而是 附加的语言元素不是ISO 的标准内容, 的标准内容
Transact-SQL语言为了编程而增加的语言元素。这 语言为了编程而增加的语言元素。 语言为了编程而增加的语言元素 些语言元素包括变量、运算符、函数、 些语言元素包括变量、运算符、函数、流程控制语 言和注释等等。 言和注释等等。 下面就要介绍这些 下面就要介绍这些Transact-SQL语法的要素 语法的要素
在建立批处理时,应该遵循以下规则: 在建立批处理时,应该遵循以下规则: 不能在批处理中引用其他批处理中所定义的变量。 不能在批处理中引用其他批处理中所定义的变量。 CREATE DEFAULT、CREATE PROCEDURE、 、 、
CREATE RULE、CREATE TRIGGER 和 CREATE 、 VIEW 语句不能在批处理中与其它语句组合使用。 语句不能在批处理中与其它语句组合使用。 不允许在一个批处理中更改表结构、并引用新的字 不允许在一个批处理中更改表结构、 段。 如果 EXECUTE 语句是批处理中的第一句,则不需 语句是批处理中的第一句, 关键字。 要 EXECUTE 关键字。如果 EXECUTE 语句不是批 处理中的第一条语句, 关键字。 处理中的第一条语句,则需要 EXECUTE 关键字。 一个完整的批处理需要使用 语句作为结束标记。 一个完整的批处理需要使用GO语句作为结束标记 语句作为结束标记。
语句
GRANT REVOK E DENY 授予权限 收回权限
功能
说明
可把语句许可或对象许可的权 限授予其他用户和角色 与GRANT的功能相反,但不影 的功能相反, 的功能相反 响该用户或角色从其他角色中 作为成员继承许可权限 功能与REVOKE相似,不同之 相似, 功能与 相似 处:除收回权限外,还禁止从 除收回权限外, 其他角色继承许可权限
标识符的命名原则 标识符的命名原则
使用短的名字 使用短的名字 尽量使用有意义的名字 尽量使用有意义的名字 使用简单明了的命名约定 使用简单明了的命名 简单明了的命名约定 使用能够区分出对象类型的标识符 使用能够区分出对象类型的标识符
视图 存储过程 存储过程 保持对象名和用户名的一致性 保持对象名和用户名的一致性 sales 表和 sales 角色
注释语句 注释语句
嵌于行内的注释语句
示例 1
SELECT productname , (unitsinstock - unitsonorder) -- 计算存货 , supplierID FROM products GO
块注释语句
示例 2
/* 部分代码检索产品表的所有行并且显示单价,增加了10%的单价和产品名 这部分代码检索产品表的所有行并且显示单价,增加了 的单价和产品名 称。 */ USE northwind SELECT unitprice, (unitprice * 1.1), productname FROM products GO
语句 功能 说明
CRE ATE ALT ER DR OP
创建数据库或数据库对 象 对数据库或数据库对象 进行修改 删除数据库或数据库对 象
不同数据库对象, 不同数据库对象,其CREATE语句的语 语句的语 法形式不同 不同数据库对象,其ALTER语句的语法 不同数据库对象, 语句的语法 形式不同 不同数据库对象, 不同数据库对象,其DROP语句的语法 语句的语法 形式不同
属于大型二进制对象结构(BLOB),代表定长 属于大型二进制对象结构(BLOB),代表定长 ), 或变长的数据类型 代表一个表结构, 代表一个表结构,在 SQL Server 2000 中,可以 把表保存在字段中
标识符
标准标识符 标准标识符
第一个字符必须是字母,a~z 或 A~Z 一个字符必须是字母, 第一个字符后可以是数字 个字符后可以是数字、 第一个字符后可以是数字、字母或各种符号 标识符的第一个字符是符号时, 当标识符的第一个字符是符号时,代表它有 特殊用处 1. 以@开头的标识符代表局部变量或参数 @开头的标识符代表局部变量或参数 2. 以#开头的标识符代表临时表或存储过程 开头的标识符代表临时表或存储过程 3. 以##开头的标识符代表一个全局临时对 开头的标识符代表一个全局临时对 象