千家信息网

oracle数据库

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,用户(user)是定义在数据库中的一个名称,访问数据库时,要提供合适的用户名和口令。模式(Schema)是用户所拥有对象的集合。用户与模式是一一对应的关系,并且二者名称相同。在Oracle 数据库中建
千家信息网最后更新 2025年11月07日oracle数据库

用户(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

用户 示例 权限 数据 数据库 系统 角色 账户 对象 用户名 语法 多个 字句 空间 链接 查询 之间 口令 模式 公司 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 去哪里学习网络安全 昆山软件开发多少钱一个月 广州微程互联网科技有限公司 网络安全漫画图片4k 幻塔不同服务器的人可以加好友吗 负责项目的数据库部分 中国网络安全百强分析报告 网络安全面包屑 数据库自然连接三个属性都相同 php获取数据库中数据 我的梦想 软件开发 护苗网络安全进课堂教案 江苏睿途网络技术有限公司 服务器如何应对数据安全 数据库快速查询技术 学电脑编程需要学数据库吗 电大数据库基础应用考试答案 阿里云服务器只能给一个人用么 网络安全专业课程好学吗 c无法新建数据库 数据库原理与技术实验三 存放数据库公共信息 数据库单表数据量过大怎么优化 神通数据库应用命令行 互联网科技的市场分析 绿盟科技中国互联网协会 服务器配什么配置好 教育部网络安全保卫中心 navcat15支持什么数据库 广东企业云空间软件服务器
0