oracle视图的使用(比mysql的information_schema更丰富)

数据库中经常会用到查看 表结构,列名,字段注释等功能,mysql中是information_schema,那么oracle中有该功能么,如何查?
必须有啊,视图就可以。

oracle视图的前缀

语法描述
dba_*dba 拥有的 或 可以访问的所有对象
all_*某用户 拥有的 或 可以访问的所有的对象
user_*某用户拥有的所有对象(必须是拥有者)

owner字段,在dba_*,all_*里面才会出现。
user_*里面没owner字段,因为user_前缀 相当于已经加了 where owner=‘当前用户名’ 条件了。

查看所有视图

select * from all_views where VIEW_NAME like '%USER_TABLE%';

_views视图主要字段就2个:

字段含义备注
OWNER拥有者如sys是系统管理员,zhangsan是自定义的用户
VIEW_NAME视图名称如 USER_TABLES(当前用户_表视图),
---

查看所有表

以下2种都可以查到,对比一下(各有各的应用场景):

表名描述
user_tables有个很关键的字段是NUM_ROWS(该表大概的条数)。
应用场景: 统计下所有的表,大概有多少条。
查表名列名时不推荐: 因为没有列名字段,用user_tab_columns更好。
user_tab_columns表名,字段名,字段类型,字段长度等都可查询
select TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH from user_tab_columns 

查看列(字段)

毫无疑问,用user_tab_columns ,查表查列一个表通通搞定。

select TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH from user_tab_columns 

dba_data_files数据文件表: 表空间存放文件,名称,字节大小,块大小等

select *  from dba_data_files  ; 
file_name
tablespace_name
bytes 
blocks

dba_users用户表: 用户名,所属表空间,有效期,创建时间等

select * from dba_users   ; 
username 用户名
default_tablespace  默认表空间
expiry_date  有效期
created  创建时间

dba_role_privs用户授权角色

select * from dba_role_privs;
grantee 
granted_role
admin_option
default_role

dba_sys_privs 用户权限表 用户名,权限,是否有管理权限

select *  from dba_sys_privs  ; 
-- 只有3个字段 
grantee   用户
privilege  权限
admin_option  是否有管理权限 YES/NO  DBA用户是yes
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值