oracle数据库
admin
2023-04-16 21:41:35
0

用户(user)是定义在数据库中的一个名称,访问数据库时,要提供合适的用户名和口令。
模式(Schema)是用户所拥有对象的集合。用户与模式是一一对应的关系,并且二者名称相同。
在Oracle 数据库中建立用户是使用命令create user 由dba用户来完成;如果要以其他用户身份创建用户,必须需要create user 系统权限。

一、创建用户语法定义:
CREATE USER test IDENTIFIED BY test
DERAULT TABKESPACE users_ts
TEMPORARY TABLESPACE temp_ts
QUOTA 3m ON users_ts;
如上示例:
建立一个数据库用户;
账户:test
口令:test
使用的默认表空间:users_ts
使用的临时表空间:temp_ts
在表空间users_ts 的配额:3m

二、链接到数据库
为了链接到数据库必须给予授权(create session)

1,示例:给初始用户授予会话权限
connect system/manager
grant create session to test
connect test/test
可通过使用test账户连接上Oracle数据库

2 示例:给数据库账户授予create table 的权限对数据库进行初步操作
connect system/manager
grant creat table to test
connect test/test
create table ....
可通过使用test账户连接上Oracle数据库,然后创建数据库表。

3 示例:修改用户口令
alter user test(用户名) identified by test(用户密码)

4 示例:解锁用户
alter user test(要解锁的用户名) account unlock ;

5 示例:修改用户空间配额
alter user test QUOTA 10m on users_ts;

6 示例:删除数据库用户的语法
DROP USER username(用户名)
注意:如果模式中包含有数据库对象,则必须带有CASCADE,否则会显示错误信息
drop user 用户名 cascade;

授予系统权限
7 示例:授予系统权限语法
grant 系统权限列表(多个系统权限之间用“,”分隔)to 用户
grant create session,create table to test;
即:授予创建会话和创建表的权限给test用户。

回收系统权限
8 示例:回收系统权限语法
Revoke 系统权限列表(多个系统权限之间用“,”分隔)from 用户
revoke create session,create table from test
即:从test 账户收回创建会话和创建表的权限。

9 显示当前用户所具有的系统权限
select * from user_sys_privs where grantee='test'

10 显示当前角色所具有的权限
select * from session_privs;

授予对象权限
1 示例:
grant 权限列表(权限之间用逗号隔开) on 对象 to 账户

connect b/b 链接B账户
grant select ,insert on tx to A
把B.TX的查询和添加的权限给A

2 示例:回收对象权限的基本语法
connect b/b 链接B账户
revoke select ,insert on TX from A

3 示例:显示当前用户所具有的对象权限

select * from user_tab_privs
通过USER_TAB_PRIVS 可以查看当前用户所具有的对象权限。

创建角色

示例:创建的角色
CREATE ROLE test_role

给角色授权

示例: 给角色授权
grant create session, create table to test_role;

使用角色给用户授权

示例:使用角色给用户授权

GRANT test_role(角色名) TO user_name(用户名)

示例:删除角色
DROP ROLE test_role

使用user_role_privs 显示当前用户具有的角色
示例:
SELECT USERNAME, GRANTED_ROLE FROM USER_ROLE_PRIVS;

三 SQL语句

SQL语句不区分大小写,即可大写,也可小写,或混写

DEPT表:公司部门表,字段(deptno,dname,loc)
EMP表:公司员工表,字段(empno, ename, job ,mgr, hiredate, sal, comm ,deptno)
DEPT为主表,EMP为从表

1 示例:显示表结构
desc emp;

2 示例:查询所有列
selcet * from dept;

3 示例:查询特定列
select deptno,dname from dept ;

使用算术表达式
示例:查询年工资
select sal*12 from emp

取消重复的行,用关键字distinct
示例:
select distinct deptno ,job from emp

where 条件句

select ename, hiredate from emp where to_char(hiredate,'yyyymmdd')<'19810101';
注意:to_char(hiredate,'yyyymmdd')<'19810101'年月日的一种比较

select enma ,sal from emp where sal between 0 and 1000;
注意:在between 后头指定较小的值,在and 后头指定较大的值

select ename ,sal from emp where ename like '%s%'

select ename, sal from emp where ename like 'M%';
注意:通配符%和

%是指多个字符通配
_是单个字符匹配

在where 字句中使用逻辑操作符(AND ,NOT, OR)
select ename ,sal from emp where comm is not null;

select ename, sal from emp where comm>100 and sal >1000;

ORDER BY 字句

ASC用于升序排序(默认),DESC用于降序,当有多个字句时ORDER BY 字句必须放在最后
示例:
select ename, sal from emp order by sal desc ;

insert 增加数据

insert into emp

相关内容

热门资讯

终于了解“响水麻将开挂神器?”... 网上科普关于“响水麻将有没有挂”话题很是火热,小编也是针对响水麻将作*弊开挂的方法以及开挂对应的知识...
玩家攻略科普“扣点点是不是有挂... 家人们!今天小编来为大家解答扣点点透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很多...
玩家最新攻略“河马茶馆有没有挂... 玩家最新攻略“河马茶馆有没有挂?”(外卦神器下载)您好,河马茶馆这个游戏其实有挂的,确实是有挂的,需...
终于懂了“同城游比鸡是不是有挂... 网上科普关于“同城游比鸡有没有挂”话题很是火热,小编也是针对同城游比鸡作*弊开挂的方法以及开挂对应的...
【第一消息】“微乐陕西三代一到... 【第一消息】“微乐陕西三代一到底是不是挂?”(必胜开挂神器)您好,微乐陕西三代一这个游戏其实有挂的,...
今日重磅消息“瓜瓜丰城棋牌辅助... 网上科普关于“瓜瓜丰城棋牌有没有挂”话题很是火热,小编也是针对瓜瓜丰城棋牌作*弊开挂的方法以及开挂对...
【第一财经】“免安装麻将机控器... 有 亲,根据资深记者爆料免安装麻将机控器好牌是可以开挂的,确实有挂(咨询...
重磅消息“微乐云南麻将到底是不... 重磅消息“微乐云南麻将到底是不是挂?”(确实真的有挂)您好,微乐云南麻将这个游戏其实有挂的,确实是有...
玩家最新攻略“福建十三水怎么开... 网上科普关于“福建十三水有没有挂”话题很是火热,小编也是针对福建十三水作*弊开挂的方法以及开挂对应的...
终于明白“微乐陕西三代开挂器?... 网上科普关于“微乐陕西三代有没有挂”话题很是火热,小编也是针对微乐陕西三代作*弊开挂的方法以及开挂对...