Oracle数据库常用查询:函数与权限管理

4星 · 超过85%的资源 需积分: 11 14 下载量 134 浏览量 更新于2024-09-19 1 收藏 16KB TXT 举报
"Oracle常用函数大全" Oracle数据库是企业级广泛应用的关系型数据库系统,它提供了丰富的函数来处理各种数据操作。以下是一些Oracle中的常用函数和相关知识点: 1. **COUNT()**: 这是一个聚合函数,用于计算指定列的行数。在示例中,`COUNT(*)` 计算了 `v$session` 表中的所有行数,而 `COUNT(username)` 只计算 `username` 不为空的行数。 2. **WHERE** 子句: 在SQL查询中,`WHERE` 用于筛选满足特定条件的行。例如,`status='ACTIVE'` 会过滤出状态为活跃的会话。 3. **GROUP BY** 和 **COUNT()**: 结合使用时,`GROUP BY` 对每个不同的 `username` 分组,并计算每个分组的行数。 4. **ALL_USERS**: 这是Oracle的系统视图,显示所有用户的详细信息。 5. **DBA_SYS_PRIVS** 和 **USER_SYS_PRIVS**: 这两个视图分别显示数据库中所有用户(包括系统权限)和当前用户的所有系统权限。 6. **ROLE_SYS_PRIVS**: 显示角色的系统权限,这不包括直接授予用户的权限,而是角色拥有的权限。 7. **DBA_TAB_PRIVS**, **ALL_TAB_PRIVS** 和 **USER_TAB_PRIVS**: 这些视图分别提供数据库中所有对象权限、当前用户可访问的对象权限和当前用户拥有对象的权限。 8. **DBA_ROLES**: 列出数据库中的所有角色。 9. **DBA_ROLE_PRIVS** 和 **USER_ROLE_PRIVS**: 显示角色与角色之间的权限关系,以及当前用户通过角色获得的权限。 10. **V$PWFILE_USERS**: 提供具有 `SYSDBA` 或 `SYSOPER` 系统权限的用户的列表,这些权限在启动和管理数据库时非常重要。 接下来是一些其他常用的SQL函数: 11. **ASCII()**: 返回一个字符的ASCII值。如:`ASCII('A')` 返回65,`ASCII('a')` 返回97,等等。 12. **CHR()**: 将ASCII值转换回对应的字符。如:`CHR(65)` 返回 'A'。 13. **CONCAT()**: 连接两个或多个字符串。如:`CONCAT('010-', '88888888')` 返回 '010-88888888'。 14. **INITCAP()**: 将字符串的每个单词首字母大写。如:`INITCAP('smith')` 返回 'Smith'。 15. **INSTR()**: 搜索一个字符串在另一个字符串中的位置。例如,`INSTR('hello', 'll', 1, 1)` 返回2,表示 'll' 在 'hello' 中的起始位置。 以上只是Oracle数据库中众多函数的一小部分,实际应用中还有许多其他函数,如 `SUBSTR()`, `TRIM()`, `TO_CHAR()`, `TO_DATE()` 等,它们极大地增强了数据处理的灵活性和功能性。掌握这些函数,能够帮助数据库管理员和开发人员更有效地管理和操作Oracle数据库。