Oracle11g SQL基础:用户权限与数据查询

需积分: 10 16 下载量 8 浏览量 更新于2024-08-15 收藏 1.96MB PPT 举报
"该资源是关于Oracle 11g数据库SQL基础的讲解,特别是用户系统权限的管理。" 在Oracle数据库管理系统中,用户系统权限的管理是确保数据安全和访问控制的重要方面。当创建了用户之后,管理员可以进一步分配权限,以决定用户能够执行的操作。例如,对于一个程序开发用户,可能需要的权限包括: 1. CREATE SESSION:允许用户登录到数据库。 2. CREATE TABLE:让用户有权创建新的表。 3. CREATE SEQUENCE:让用户能够创建序列,这对于自增主键或唯一标识符很有用。 4. CREATE VIEW:允许用户创建视图,这是对数据的一种定制化查看方式。 5. CREATE PROCEDURE:赋予用户创建存储过程的能力,这有助于封装复杂的业务逻辑。 授权权限的SQL语句格式如下: ```sql GRANT privilege [, privilege...] TO user [, user| role, PUBLIC...]; ``` 例如,要给用户`demo`授予上述提到的权限,可以使用这样的命令: ```sql GRANT create session, create table, create sequence, create view TO demo; ``` 此外,SQL语言是访问关系型数据库的标准语言,其主要包括以下五个类型的操作: 1. 查询(QUERY) - 使用`SELECT`语句获取数据。 2. 数据处理(DML) - 插入(INSERT)、更新(UPDATE)和删除(DELETE)数据。 3. 数据定义(DDL) - 创建(CREATE)、修改(ALTER)、删除(DROP)、重命名(RENAME)和清空(TRUNCATE)表等数据库对象。 4. 事务控制(TC) - 提交(COMMIT)、回滚(ROLLBACK)事务,以及保存点(SAVEPOINT)管理。 5. 数据控制(DCL) - 授予(GRANT)和撤销(REVOKE)权限。 SQL语句可以集成到其他编程语言中,如C++或Java(通过JDBC),也可以直接在数据库交互工具中使用,如Oracle SQL*Plus或Oracle SQL Developer。 查询数据的基本结构是`SELECT`语句,例如: - 查询所有列:`SELECT * FROM departments;` - 查询指定列:`SELECT department_id, location_id FROM departments;` - 联合查询:`SELECT ... FROM table1 UNION SELECT ... FROM table2;` 在SQL中,还可以进行四则运算,比如在查询结果中计算薪水的12%加薪。同时,注意NULL值在SQL中的特殊性,它表示未知、未定义或不可用,与数字0或空格不同,并且与NULL值的运算结果也会是NULL。列别名可以通过`AS`或直接跟在列名后面用空格分隔来定义,以增强查询结果的可读性。如果别名包含特殊字符或需要区分大小写,需要用双引号括起来。