oracle数据库修改登录密码以及创建简单的视图操作

55 篇文章 0 订阅
13 篇文章 0 订阅

最近想玩玩oracle中的视图操作,由于长时间没有操作自己的本机的虚拟机上的oracle数据库,导致密码给忘记了,百度了一下说是可以通过登录管理员来操作。于是就进行了一些列操作,由于之前接触oracle较少,所以尝试起来还是有点吃力,于是就各种尝试。oracle的用户分为如下几个等级:

  1. 最高权限用户:SYSTEM  密码:MANAGER
  2. 管理员权限用户:SYS  密码:CHANGE_ON_INSTALL
  3. 普通用户权限:SCOTT   密码:TIGER

流程是这样的:

1.首先登录管理员账号进行修改用户密码:但是我的管理员密码也不知道,别急,这里有办法。

首先登进去你的oracle所在的服务器(我的安装在本机window虚拟机里)。所以直接进入win+R命令输入cmd进入命令行窗口,

输入sqlplus/nolog

输入connect/as sysdba

输入alter user 用户名identified by 密码

就可以了。

这种方法对于忘记管理员密码同样适用。

下边就可以进行视图操作

视图具有以下优点:

1. 可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。

2. 可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。

3. 限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。

4. 从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。

语法:

CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW view_name

AS

SELECT查询

[WITH READ ONLY CONSTRAINT]

解析:

1. OR REPLACE:如果视图已经存在,则替换旧视图。

2. FORCE:即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。

3. NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。

4. WITH READ ONLY:默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。

案例:基于EMP表和DEPT表创建视图

CREATE OR REPLACE VIEW EMPDETAIL

  2  AS

  3  SELECT EMPNO,ENAME,JOB,HIREDATE,EMP.DEPTNO,DNAME

  4  FROM EMP JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO

  5  WITH READ ONLY

使用视图:

SELECT * FROM EMPDETAIL;

视图就是将复杂的sql语句封装成一个虚表,一般都是常用的业务逻辑进行封装视图,具体操作和表一样,一般视图都是设置为只读的,创建的sql语句如上图。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uniquewdl

匆忙的人生,总有你喜欢的文章

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值