Oracle 11g SQL基础:数据控制与查询操作

需积分: 10 16 下载量 146 浏览量 更新于2024-08-15 收藏 1.96MB PPT 举报
"这篇资料主要介绍了SQL语言的基础知识,特别是关于赋予对象权限的部分,以及Oracle 11g数据库中的一些核心概念。" 在SQL中,数据控制语言(DCL)是用于管理数据库用户访问权限的关键部分。GRANT语句是DCL的一个关键组成部分,它允许管理员或其他具有足够权限的用户赋予其他用户或角色对特定数据库对象的访问权限。在提供的示例中,我们看到了如何使用GRANT语句来赋予用户和角色不同的权限。 首先,`GRANT SELECT ON employees TO demo;` 这条语句授予了用户`demo`查询`employees`表的权限。这意味着`demo`用户可以查看表中的所有数据,但不能修改或删除这些数据。 其次,`GRANT UPDATE (department_name, location_id) ON departments TO demo, manager;` 这条语句更复杂,它不仅授权给`demo`用户,还授权给了`manager`角色。它们现在可以更新`departments`表中的`department_name`和`location_id`这两列,但对表中的其他列没有更新权限。 SQL语言的其他基本类型包括查询(QUERY)、数据处理(DML)、数据定义(DDL)、事务控制(TC)。查询主要用于获取数据,如`SELECT`;DML涉及数据的插入、更新和删除;DDL用于创建、修改和删除数据库对象;事务控制则是关于如何管理数据库操作的序列,确保数据的一致性;而DCL则专注于权限管理和访问控制。 在SQL中,`SELECT`语句是最常用的查询语句,用于从一个或多个表中提取数据。例如,`SELECT * FROM departments;`将返回`departments`表中的所有列和行。`*`代表所有列,而`DISTINCT`关键字用于去除重复的行。可以指定列名以选择特定的列,如`SELECT department_id, location_id FROM departments;`。列别名可以通过`AS`或直接跟在列名后用空格分隔来定义,这有助于提高查询结果的可读性,例如`SELECT last_name AS Name, salary AS Income FROM employees;`。 `NULL`值在SQL中是一个特殊值,表示数据未知或未定义。与`NULL`进行的任何算术运算结果都是`NULL`。列别名在处理包含运算的表达式时特别有用,因为它们可以使结果更具描述性。 在实际应用中,SQL语句可以嵌入到其他编程语言中,如C++或Java(通过JDBC),也可以在专门的数据库管理工具如Oracle SQL*Plus或SQL Developer中直接执行。语句的书写规则要求关键字不缩写且不跨行,而分号用于标记语句的结束。 这篇资料提供了关于SQL基础和权限管理的概述,对理解如何在Oracle 11g环境中操作和保护数据至关重要。