第11章 Transact-SQL语句
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.3.3 创建视图和存储过程
既然ZHAO可以访问 可以访问TestData数据库,用户可能希望 数据库, 既然 可以访问 数据库 创建一些数据库对象(如视图和存储过程), ),再将这些对象 创建一些数据库对象(如视图和存储过程),再将这些对象 的访问权限授予ZHAO。视图是存储的 语句, 的访问权限授予 。视图是存储的SELECT语句,而存 语句 储过程是以批处理方式执行的一条或多条Transact-SQL语 储过程是以批处理方式执行的一条或多条 语 句。 1.创建视图 . 2.测试视图 . 3.创建存储过程 . 4.测试存储过程 .
11.1
Transact-SQL语法讲解 Transact-SQL语法讲解
学习Transact-SQL语法,首先要了解掌握Transact语法,首先要了解掌握 学习 语法 SQL语法约定,Transact-SQL对其语法是有一定约定的。 语法约定, 对其语法是有一定约定的。 语法约定 对其语法是有一定约定的 11.2 创建数据库对象 通过编写Transact-SQL语句创建数据库,在数据库中 语句创建数据库, 通过编写 语句创建数据库 创建表,然后访问表中的数据并对其进行更改。 创建表,然后访问表中的数据并对其进行更改。可以使用下 列方法编写Transact-SQL语句并将其提交到数据库引擎。 语句并将其提交到数据库引擎。 列方法编写 语句并将其提交到数据库引擎 (1)通过使用 )通过使用SQL Server Management Studio。 。 实用工具。 (2)通过使用 )通过使用sqlcmd实用工具。 实用工具 (3)通过从用户创建的应用程序进行连接。 )通过从用户创建的应用程序进行连接。
11.2.3 插入和更新表中的数据
前面已经创建Products表,可以通过使用INSERT语 表 可以通过使用 前面已经创建 语 句向该表中插入数据了。插入数据后,将通过使用UPDATE 句向该表中插入数据了。插入数据后,将通过使用 语句更改行的内容。将使用UPDATE语句的 语句的WHERE子句, 子句, 语句更改行的内容。将使用 语句的 子句 以限制对单个行的更新。 以限制对单个行的更新。 1.向表中插入数据 . 2.更新 .更新products表 表
描述下列语句有什么意义? 描述下列语句有什么意义? CREATE LOGIN [computer_name\ZHAO] FROM WINDOWS WITH DEFAULT_DATABASE = [TestData]; 这里通过CREATE LOGIN语句,创建了一个 这里通过 语句, 语句 WINDOWS账户“ZHAO”,默认的操作数据库时 账户“ 账户 , “TestData”。主要是让应试人员了解权限操作方面的命令 。 。
11.2.2 创建表
若要创建表,必须提供该表的名称, 若要创建表,必须提供该表的名称,还要指定表中每 个列的名称和数据类型,指出每个列中是否允许空值等。 个列的名称和数据类型,指出每个列中是否允许空值等。大 多数表有一个主键,主键由表的一列或多列组成。 多数表有一个主键,主键由表的一列或多列组成。数据库引 擎将强制实施以下限制:表中的任何主键值都不能重复。 擎将强制实施以下限制:表中的任何主键值都不能重复。
11.3.2 授予访问数据库的权限
现在ZHAO具有访问此 具有访问此SQL Server实例的权限,但是 实例的权限, 现在 具有访问此 实例的权限 没有访问数据库的权限。在当前用户授权ZHAO作为数据库 没有访问数据库的权限。在当前用户授权 作为数据库 用户之前, 甚至无权访问其默认数据库TestData。 用户之前,ZHAO甚至无权访问其默认数据库 甚至无权访问其默认数据库 。 若要授予ZHAO访问权限,切换到 访问权限, 数据库, 若要授予 访问权限 切换到TestData数据库, 数据库 再使用CREATE USER语句将登录名映射到名为 再使用 语句将登录名映射到名为ZHAO的用 的用 语句将登录名映射到名为 键入并执行下列语句( 户。键入并执行下列语句(将computer_name替换为用户 替换为用户 计算机的名称),以授予ZHAO访问 ),以授予 访问TestData数据库的权限 计算机的名称),以授予 访问 数据库的权限 。
11.3.1 创建登录名
若要访问数据库引擎,用户需要有登录名。 若要访问数据库引擎,用户需要有登录名。登录名可 以按Windows账户或 账户或Windows组成员表示用户身份,登录 组成员表示用户身份, 以按 账户或 组成员表示用户身份 名也可以是仅存在于SQL Server中的 中的SQL Server登录名。 登录名 名也可以是仅存在于 中的 登录 应该尽可能使用Windows身份验证。 身份验证。 应该尽可能使用 身份验证 默认情况下,计算机上的管理员具有对SQL Server的 默认情况下,计算机上的管理员具有对 的 完全访问权限。在本节中,需要一个具有更少特权的用户; 完全访问权限。在本节中,需要一个具有更少特权的用户; 因此,用户应该在计算机上创建一个新的本地Windows身 因此,用户应该在计算机上创建一个新的本地 身 份验证账户。为此,用户必须是计算机上的管理员。 份验证账户。为此,用户必须是计算机上的管理员。然后用 户将授予该新用户访问SQL Server的权限。下列说明适用 的权限。 户将授予该新用户访问 的权限 于Windows XP Professional版本。 版本。 版本 1.创建新的 .创建新的Windows账户 账户 2.创建登录名 .
写出四条使用Drop Drop关键字的语句 11.5.2 写出四条使用Drop关键字的语句
在数据库操作中,大部分都是用 在数据库操作中,大部分都是用Drop关键字表示删除 关键字表示删除 某个对象。下面列出常见的四条删除语句: 某个对象。下面列出常见的四条删除语句: DROP USER:删除用户对数据库的访问权限。 :删除用户对数据库的访问权限。 DROP LOGIN删除登录账户名。 删除登录账户名。 删除登录账户名 DROP PROC:删除存储过程。 :删除存储过程。 DROP VIEW:删除视图。 :删除视图。
第11章 11章
Transact-SQL语句 Transact-SQL语句
Transact-SQL是SQL Server 2008用于支持兼容 是 用于支持兼容 SQL92标准的关系数据库 标准的关系数据库SQL版本。了解 版本。 标准的关系数据库 版本 了解Transact-SQL引 引 掌握Transact-SQL的使用场景,再通过学习编写一些 的使用场景, 用,掌握 的使用场景 Transact-SQL语句,巩固 语句, 语法, 语句 巩固Transact-SQL语法,为接下来的 语法 Transact-SQL操作章节作好准备。本章主要涉及到的知识 操作章节作好准备。 操作章节作好准备 点如下。 点如下。 Transact-SQL语法讲解:了解 语法讲解: 语法。 语法讲解 了解Transact-SQL语法。 语法 Transact-SQL引用:了解 引用: 引用。 引用 了解Transact-SQL引用。 引用 编写Transact-SQL语句:熟练编写创建,修改,删除 语句: 编写 语句 熟练编写创建,修改, 数据库的Transact-SQL语句。 语句。 数据库的 语句
11.2.4 读取表中的数据
使用SELECT语句可以读取表中的数据。SELECT语句 语句可以读取表中的数据。 使用 语句可以读取表中的数据 语句 是最重要的Transact-SQL语句之一,其语法有许多变体。 语句之一, 是最重要的 语句之一 其语法有许多变体。 在本书中,将学习使用五个简单版本。 在本书中,将学习使用五个简单版本。
11.3
配置数据库对象的权限
授予用户访问数据库的权限涉及3个步骤。首先, 授予用户访问数据库的权限涉及 个步骤。首先,创建 个步骤 登录名。使用登录名,用户可以连接到SQL Server数据库 登录名。使用登录名,用户可以连接到 数据库 引擎。然后将登录名配置为指定数据库中的用户。最后, 引擎。然后将登录名配置为指定数据库中的用户。最后,授 予该用户访问数据库对象的权限。本节介绍了这3个步骤 个步骤, 予该用户访问数据库对象的权限。本节介绍了这 个步骤, 并介绍了如何将视图和存储过程创建为对象。 并介绍了如何将视图和存储过程创建为对象。
11.3.4 授予访问数据库对象的权限
作为管理员,可以从 表和vw_Names视图执 作为管理员,可以从Products表和 表和 视图执 过程; 行SELECT,以及执行 ,以及执行pr_Names过程;但是 过程 但是ZHAO不能执 不能执 若要授予ZHAO必要的权限,使用 必要的权限, 语句。 行。若要授予 必要的权限 使用GRANT语句。 语句 (1)过程授权 ) (2)关于 )关于GRANT
11.2.1 创建数据库
与许多Transact-SQL语句一样,CREATE 语句一样, 与许多 语句一样 DATABASE语句具有一个必需参数:数据库的名称。 语句具有一个必需参数: 语句具有一个必需参数 数据库的名称。 CREATE DATABASE还具有许多可选参数,如希望放置数 还具有许多可选参数, 还具有许多可选参数 据库文件的磁盘位置。在执行不带可选参数的CREATE 据库文件的磁盘位置。在执行不带可选参数的 DATABASE时,SQL Server使用其中许多参数的默认值。 使用其中许多参数的默认值。 时 使用其中许多参数的默认值
11.3.2 授予访问数据库的权限
1 USE [TestData]; 2 GO 3 CREATE USER [ZHAO] FOR LOGIN [computer_name\ZHAO]; 4 GO 成功运行结果也是“命令已成功完成。 对于SQL 成功运行结果也是“命令已成功完成。”,对于 Server和TestData数据库,ZHAO都具有访问权限。 数据库, 都具有访问权限。 和 数据库 都具有访问权限
11.6
小结
Transact-SQL语句是操作 语句是操作SQL Server 2008数据库的 语句是操作 数据库的 根本之中的根本,所以读者务必要熟练掌握之。 根本之中的根本,所以读者务必要熟练掌握之。TransactSQL语法讲解是前面章节的可视化操作和后面章节的过渡章 语法讲解是前面章节的可视化操作和后面章节的过渡章 数据库从可视化操作到脚本操作, 节,数据库从可视化操作到脚本操作,是一个数据库开发人 员的成长过程中最为重要的环节。 员的成长过程中最为重要的环节。认真练习本节的所有示例 充分了解Transact-SQL的语法,是本节的学习重点。 的语法, ,充分了解 的语法 是本节的学习重点。
11.4
删除建的对象, 本节内容很少,主要讲删除前两节创建的对象,再删 除数据库。若要删除创建的所有对象, 除数据库。若要删除创建的所有对象,只需删除数据库即可 但是在本节中,将通过下列操作执行。 。但是在本节中,将通过下列操作执行。
11.5.1 认识创建登录用户的命令