数据字典
作用: 帮助用户了解当前数据库的一些信息或是对象的信息或是用户的信息.
1.数据字典在数据库被创建时创建的。
2.数据字典中的数据被数据库服务器自动更新和维护
常见的数据字典(它们都是 视图)
USER 开头的视图里面存放着用户自己拥有的对象
ALL 开头的视图存放着用户有权限查看的对象
DBA 开头的视图存放着数据库所有的对象
V$ 开头的视图存放数据库运行的一些性能属性数据
1、以user开头的数据字典: 包含当前用户所拥有的相关对象信息。
//查询用户拥有的所有表的名字
//table view sequence index synonym等都是oracle中的对象
//注意字符串的值是区分大小写的
//查看当前用户有权限访问的对象
//只能是有dba权限的用户查询,能查到数据库中所有对象
dictionary视图中只有俩列:
TABLE_NAME表示当前表的名字
COMMENTS表示对这个表的描述
-----------------------------------------
TABLE_NAME
COMMENTS
如下进行对dictionary进行查询
作用: 帮助用户了解当前数据库的一些信息或是对象的信息或是用户的信息.
1.数据字典在数据库被创建时创建的。
2.数据字典中的数据被数据库服务器自动更新和维护
常见的数据字典(它们都是 视图)
USER 开头的视图里面存放着用户自己拥有的对象
ALL 开头的视图存放着用户有权限查看的对象
DBA 开头的视图存放着数据库所有的对象
V$ 开头的视图存放数据库运行的一些性能属性数据
1、以user开头的数据字典: 包含当前用户所拥有的相关对象信息。
//查询用户拥有的所有表的名字
select table_name from user_tables;
//查询用户对象表,找出对象类型是TABLE类型的对象名字
//table view sequence index synonym等都是oracle中的对象
//注意字符串的值是区分大小写的
select object_name
from user_objects
where object_type = upper('table');
//查询用户对象表,找出对象类型都有哪些
select distinct object_type
from user_objects;
//查询出s_emp表中的列及其对应的约束名字
select constraint_name,column_name
from user_cons_columns
where table_name = 'S_EMP';
//查询出s_emp表中的约束名字
select constraint_name
from user_constraints
where table_name = 'S_EMP';
2、以all开头的数据字典: 包含当前用户有权限访问的所有对象的信息
//查看当前用户有权限访问的对象
select table_name from all_tables;
3、以dba开头的数据字典: 包含数据库所有相关对象的信息。
//只能是有dba权限的用户查询,能查到数据库中所有对象
select table_name from dba_tables; (sys system)
其他视图:DICTIONARY
dictionary视图中只有俩列:
TABLE_NAME表示当前表的名字
COMMENTS表示对这个表的描述
SQL> desc dictionary
名称
-----------------------------------------
TABLE_NAME
COMMENTS
如下进行对dictionary进行查询
select *
from dictionary
where table_name='USER_TABLES';
select *
from dictionary
where table_name='ALL_TABLES';
select table_name
from dictionary
where table_name like 'USER%';
select table_name
from dictionary
where table_name like 'ALL%';
select table_name
from dictionary
where table_name like 'V$%';