现在位置： 首页 -> 网站开发 -> 数据库技术

#### Transact-SQL语句的类型

- 文章来源：微尔IT　作者:光骑士 更新时间：2009-1-11　推荐等级： 热 荐查看次数：
  大 中 小
- 关 键 字：数据控制语句,DCL,数据操作语句,DML
- 推荐给QQ/MSN好友：
- 页面收藏到：

### 1.2 Transact-SQL语句的类型

查询就是获取存储在SQL Server中的数据。所有的查询都使用SELECT语句为用户提供一个结果集。一个结果集是运行SELECT语句后所得到的一个表数据集，包含行和列。 编写和运行Transact-SQL语句是向SQL Server发出查询申请的一种方法。在编写这些语句时，你将会用到下列类型的Transact-SQL语句： 数据定义语句(DDL)，允许你在数据库中创建对象； 数据控制语句(DCL)，允许你决定谁能查看或更改数据； 数据操作语句(DML)，允许你查询或更改数据。
本课程主要讲述的是数据操作语言(DML)的语句。

#### 1.2.1 数据定义语言(DDL)

数据定义语句(DDL)通过创建数据库、表和用户自定义数据类型来定义一个数据库。你也可以使用DDL语句管理数据库对象。DDL语句包括CREATE 、ALTER和 DROP 。 默认情况下，只有sysadmin、dbcreator、db_owner或db_ddladmin预定义角色（role）的成员才能执行DDL语句。一般不推荐其他角色的用户使用DDL语句。如果不同的用户在数据库中创建了他们自己的对象，那么每个对象的所有者都需要给予其他用户使用这些对象的权限。这将给管理工作带来沉重的负担，所以应当尽量避免发生这种情况。通过限制用户使用语句的权限，还能够避免对象所有权带来的问题。当对象所有者被从数据库删除，或者一个存储过程、视图的所有者并不拥有内部数据表的使用权的时候将导致这种问题。
下面的脚本在数据库Northwind中创建一个叫customer的表。表中包含cust_id, company、contact和phone字段。
USE northwind
CTRATE TABLE customer
(cust_id int, company varchar(40), contact varchar(30), phone char(12))
GO

#### 1.2.2 数据控制语言(DCL)语句

数据控制语句(DCL)用于改变与某个数据库用户或角色的相关权限。
语句
描述
GRANT
允许用户能够访问数据或运行某些Transact-SQL语句。
DENY
禁止某个安全账号的访问并阻止某个用户、用户组或角色从它的组和角色成员中继承原有的权限。
REVOKE
删除一个原来设置的允许或拒绝的权限。

默认情况下，只有属于sysadmin、dbcreator、db_owner或db_secudtyadmin角色的成员才能运行这些语句。
下面的例子赋予public角色的成员查询表products的权限。
USE nothwind
GRANT SELECT ON products TO public
GO

#### 1.2.3 数据操作语句(DML)

数据操作语句(DML)对数据库中的数据进行操作。通过使用这些语句，你可以更改或获取数据库信息。DML语句包括SELECT、 INSERT、 UPDATE 和DELETE。
默认情况下，只有属于sysadmin，dbcreator，db_owner或db_datawriter角色的成员能够运行这些语句。
下面的例子从数据库Northwind中查询category ID，product name，product ID和unitprice的值。
USE northwind
SELECT category ID, product name, product ID, unitprice FROM products
GO

上篇文章: SQL语句简介:什么是Transact-SQL编程语言 下篇文章：Transact-SQL语法元素

【返回上页】【打印 此页】【查看参与评论】

相关文章： 没有相关文章