数据字典是oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。
Oracle中的数据字典有静态和动态之分。静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。以下分别就这两类数据字典来论述。
user_*
该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
user_objects用户对象信息
user_source数据库用户的所有资源对象信息
user_segments用户的表段信息
user_tables用户的表对象信息
user_tab_columns用户的表列信息
user_constraints用户的对象约束信息
user_sys_privs当前用户的系统权限信息
user_tab_privs当前用户的对象权限信息
user_col_privs当前用户的表列权限信息
user_role_privs当前用户的角色权限信息
user_indexes用户的索引信息
user_ind_columns用户的索引对应的表列信息
user_cons_columns用户的约束对应的表列信息
user_clusters用户的所有簇信息
user_clu_columns用户的簇所包含的内容信息
user_cluster_hash_expressions散列簇的信息
该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)
all_users数据库所有用户的信息
all_objects数据库所有的对象的信息
all_def_audit_opts所有默认的审计设置信息
all_tables所有的表对象信息
all_indexes所有的数据库对象索引的信息
该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)
dba_users数据库用户信息
dba_segments表段信息
dba_extents数据区信息
dba_objects数据库对象信息
dba_tablespaces数据库表空间信息
dba_data_files数据文件设置信息
dba_temp_files临时数据文件信息
dba_rollback_segs回滚段信息
dba_ts_quotas用户表空间配额信息
dba_free_space数据库空闲空间信息
dba_profiles数据库用户资源限制信息
dba_sys_privs用户的系统权限信息
dba_tab_privs用户具有的对象权限信息
dba_col_privs用户具有的列对象权限信息
dba_role_privs用户具有的角色信息
dba_audit_trail审计跟踪记录信息
dba_stmt_audit_opts审计设置信息
dba_audit_object对象审计结果信息
dba_audit_session会话审计结果信息
dba_indexes用户模式的索引信息
语法:
select [distinct]*|分组字段 [别名] [,分组字段2 [别名]],...] |统计函数
from 表名称 [别名], [表名称 [别名],...]
[where 条件(s)]
[group by 分组字段1[,分组字段2,...]]
[order by 排序字段 [asc|desc]] [,排序字段 [asc|desc],...]];
例:
SELECT DEPARTMENT_ID,AVG(SALARY)
FROM EMPLOYEES
GROUP BY department_id;
从表EMPLOYEES中以department_id分组
查询DEPARTMENT_ID,和AVG(SALARY)
SELECT DEPARTMENT_ID,MAX(SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID
HAVING MAX(SALARY) > 8000;
从表EMPLOYEES中以department_id分组
查询DEPARTMENT_ID,和MAX(SALARY)
显示MAX(SALARY)>8000的数据
左外连接
左边的表是主表
SELECT e.last_name, e.department_id, d.department_name
FROM employees e,departments d
where e.department_id = d.department_id(+);
右外连接
右边的表是主表
SELECT e.last_name, e.department_id, d.department_name
FROM employees e,departments d
where e.department_id(+) = d.department_id;
UNION 指令的目的是将两个 SQL 语句的结果合并起来,可以查看你要的查询结果.
例如:
select id from a
union all
select id from b;
select id from a
union
select id from b;
取交集
select id from a
intersect
select id from b;
在进行两个表格或者两个查询结果的时候,返回在第一个表格/查询结果中与第二个表格/查询结果不相同的记录。
select id from a
minus
select id from b;
select id from b
minus
select id from a;
保存点savepoint是事务中的一点,通过rollback可以返回到
某个保存点。一个事务中可以有多个保存点。一旦事务提交,
该事务中的保存点会自动被删除,那么无论刚才做了多少个
保存点,都统统没有了。
设置保存点 savepoint 保存点名
取消部分事务 rollback to 保存点名
取消全部事务 rollback