数据库中经常会用到查看 表结构,列名,字段注释等功能,mysql中是information_schema,那么oracle中有该功能么,如何查?
必须有啊,视图就可以。
文章目录
- oracle视图的前缀
- 查看所有视图
- 查看所有表
- 查看列(字段)
- dba_data_files数据文件表: 表空间存放文件,名称,字节大小,块大小等
- dba_users用户表: 用户名,所属表空间,有效期,创建时间等
- dba_role_privs用户授权角色
- dba_sys_privs 用户权限表 用户名,权限,是否有管理权限
oracle视图的前缀
语法 | 描述 |
dba_* | dba 拥有的 或 可以访问的所有对象 |
all_* | 某用户 拥有的 或 可以访问的所有的对象 |
user_* | 某用户拥有的所有对象(必须是拥有者) |
owner字段,在dba_*,all_*里面才会出现。
user_*里面没owner字段,因为user_前缀 相当于已经加了 where owner=‘当前用户名’ 条件了。
查看所有视图
_views视图主要字段就2个:
字段 | 含义 | 备注 |
OWNER | 拥有者 | 如sys是系统管理员,zhangsan是自定义的用户 |
VIEW_NAME | 视图名称 | 如 USER_TABLES(当前用户_表视图), |
- | - | - |
查看所有表
以下2种都可以查到,对比一下(各有各的应用场景):
表名 | 描述 |
user_tables | 有个很关键的字段是 应用场景: 统计下所有的表,大概有多少条。 查表名列名时不推荐: 因为没有列名字段,用 |
user_tab_columns | 表名,字段名,字段类型,字段长度等都可查询 |
查看列(字段)
毫无疑问,用user_tab_columns ,查表查列一个表通通搞定。
dba_data_files数据文件表: 表空间存放文件,名称,字节大小,块大小等
dba_users用户表: 用户名,所属表空间,有效期,创建时间等
dba_role_privs用户授权角色
dba_sys_privs 用户权限表 用户名,权限,是否有管理权限