tnblog
首页
视频
资源
登录

Oracle 安装和常用的命令

4010人阅读 2019/12/26 10:01 总访问:36706 评论:0 收藏:0 手机
分类: Oracle

Oracle 安装如下:

https://jingyan.baidu.com/article/f79b7cb32095f79144023eae.html


默认账户

Sys     123456 as sysdba   数据库最高权限

System  123456             dba(数据库管理员)

Scott   tiger(养猫的名字)  (oracle公司第一个员工)


Oracle 常用的命令


查询当前登录的用户

Show user


登录命令/切换账户的命令

Conn 用户名/密码


锁定账户命令

Alter user 用户名 account lock


解锁账户命令

Alter user 用户名 account unlock


修改密码的命令

Alter user 用户名 identified by 密码


提交数据的命令

Commit 


撤销/返回的命令

Rollback 


Oracle授权的命令

grant 权限/角色权 to 用户名/角色


给scott查询test表的权限

grant select on 用户名.表名 to scott


给scott添加test表的权限

grant insert on 用户名.表名 to scott


给scott删除,更新test表的权限

grant delet,update on 用户名.表名 to scott


Oracle撤销授权的命令

Revoke 权限 from 用户名


取消scott查询test表的权限

Revoke select on 用户名.表名 from scott

Revoke select,update on 用户名.表名 from scott



创建用户

create user 用户名 identified by 密码


给用户等录权限

grant create session to 用户


删除用户

drop user 用户名

drop user 用户名 cascade


创建角色

Create role 角色名称


Oracle 权限传递

grant create session to 用户名 with admin option


权限传递前提:

1.自己具有该权限

2.权限配置的权限

   with admin option(系统权限)

   with grant option(对象权限)


权限回收

如果是对象权限会取消,如果是系统权限不会连带取消


-- 创表

ed;


   create table Text

(

  Id    int primary key ,

  Cname  nvarchar2(20) 

)


/;



同义词:相当于表的别名

创建同义词

create synonym 自定义名 for scott.emp;



视图:虚拟的表

创建视图

1;

ed;


create view view_emp 

as 

 select * from scott.emp



/;



2; -- or replace 替换/覆盖  read only 只读

ed;


create or replace view view_emp

as

select * from scott.emp

with read only


/;


隐藏具体表

代码重用;

不改表结构基础上进行数组重组


序列:序列+触发器=自增长

创建序列

create sequence 名字

start with 1  -- 开始

increment by 1 -- 增加的值

maxvalue 99 -- 最大值  onmaxvalue -- 不要最大值(可以不写)

cycle  -- 循环   oncycle  -- 不要循环(可以不写)


查看序列

select 序列名.nextval from dual;

select 序列名.currval from dual;


修改序列

alter sequence 序列名

maxvalue 99999

cycle


删除序列

drop srquence 序列名


开启控制器输出

set serveroutput on;

dbms_output.put_line(i);



Oracle 编程

判断语句

ed;

declare i int:=2;

begin

  if(i=1) then

dbms_output.put_line('小明');

  elsif(i=2) then   --  是 els 

dbms_output.put_line('小明2');

  else

dbms_output.put_line('小明3');

  end if;

end;



LOOP循环

declare i int:=1;

begin

while i <=30 -- 循环退出来的条件

loop

  dbms_output.put_line(i);

  i:=i+1;

end loop;

end;


For循环

declare i int:=1;

begin 

for i in 1..10

loop

  dbms_output.put_line(i);

end loop;

end;


While循环

declare i int:=1;

begin

while i<10

loop

  dbms_output.put_line(i);

i:=i+1;

end loop;

end;







-- 查询所有的角色

select * from dba_roles


-- 查询某个角色的系统权限

select * from dba_sys_privs where grantee='DBA'


-- 查询某个角色的对象权限

select * from dba_tab_privs where grantee='DBA'


-- 查询某个角色的角色权限

select * from dba_role_privs where grantee='DBA'


-- 查找同义词

select * from dba_synonyms




评价
黑发不知勤学早,白发方悔读书迟......
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术