------------------------------ORACLE LEARN----------------------------------
1.与ORACLE相关的数据库
MySql 小型数据库 (免费,开源)
Sqlserver 中大型数据库
Oracle 大型数据库
Db2(IBM公司)
----------------------------------------------------------------------------
2.开启Oracle服务
net start OracleServiceOrcl(OracleServiceOrcl不区分大小写)
然后输入SqlPlus进入Oracle的CMD界面
------------------------------------------------------------------------------
3.Oracle默认账户
Sys/123456 最高管理员 董事长
System/123456 总经理
Scott/tiger (Oracle第一个员工、需要解锁)
----------------------------------------------------------------------------
4.Oracle三个认证(Oracle证书)
Oca 初级
Ocp 专业级
Ocm master 大师级
-----------------------------------------------------------------------------
5.Oracle常用命令
查询员工表
select * from scott.emp;(注意分号)
查询名字为SCOTT的员工信息
select * from scott.emp where ename = 'SCOTT';
查询员工scott创建的表
select * from scott.dept;
在员工表插入一个员工数据
insert into scott.emp(empno,ename) values(800,'OCEANMIX');
删除某个员工信息
delete from scott.emp where ename = 'OCEANMIX';
创建一个表(Oracle中没有自增列)
create table UserInfo(
id int primary key,
ename nvarchar2(64)
);
//向表中添加数据
insert into userinfo values(1,'oceanmix');
//删除表
drop table userinfo;
//修改员工某项数据
update scott.emp set sal ='5000' where ename = 'OCEANMIX';
//输入ed;创建表(decimal(3,2)表示总共3位,小数占据2位)
create table emp
(
id int primary key,
ename nvarchar2(64) default 'test',
money decimal(3,2)
)
查看当前登陆的用户 show user
清除屏幕命令 clear
登陆命令 conn 用户名/密码
解锁命令 alter user scott account unlock;
修改别人密码命令 alter user scott identified by 123456;
修改自己密码命令 password(最后还需输入commit;确认提交、适用于CMD窗口中)
创建用户命令 create user cz identified by 123456;
删除用户命令 drop user 用户名(注意:自己不能删除自己,如果删除当前连接用户需要在菜单Session处的Log off注销掉正在连接的用户)
进入编辑窗口 ed(ok后输入/执行编辑窗口内的命令)
显示错误 show error;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
6.Oracle权限
注意:一个新用户是不具有任何权限的
权限授予命令:
授予登陆权限:grant create session to cz;
授予查询权限:grant select on scott.emp to cz;
授予删除权限:grant delete on scott.emp to cz;
一次性权限授予:grant insert,delete,update,select on scott.emp to cz;
建表权限:grant create table to zz;
对表空间进行操作的权限:grant unlimited tablespace to zz;
权限回收命令:
回收cz用户对于scott.emp表的查询权限:revoke select on scott.emp from cz;
回收cz用户对于scott.emp表的增删改查四项权限:revoke insert,delete,update,select on scott.emp from cz;
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
7.权限的传递
权限传递方式:
1.with admin option权限不能被级联取消
2.with grant option权限会被级联取消
注意:默认情况下权限是不能进行传递的
-----------------------------------------------------------------------------------------------------------------------------------------
权限传递命令:
system将授予他人登录权限授予cz:grant create session to cz with admin option;(with admin option权限不能被级联取消)
cz授予zz登录权限:grant create session to zz;
system回收cz的登录权限:revoke create session from cz;
system将授予他人查询scott.emp表权限授予cz:grant select on scott.emp to cz with grant option;(with grant option权限会被级联取消)
system回收cz的授予他人查询scott.emp表权限:revoke select on scott.emp from cz;
-----------------------------------------------------------------------------------------------------------------------------------------
实际例子:
1.system创建了两个用户,一个cz,一个zz,system授予cz登录权限和授予他人登录权限,cz再授予zz登录权限,
如果system收回了cz的登录和授予登录权限,那么zz的权限会消失吗?(zz不会失去登录的权限)
2.system将“授予他人查询scott.emp表权限”授予cz,cz将“查询scott.emp表权限”授予zz,system回收了cz的授予他人查询scott.emp表权限,
zz也失去了查询scott.emp表的权限(注意:授予他人查询scott.emp表权限包含查询scott.emp表权限)
-----------------------------------------------------------------------------------------------------------------------------