sys 超級管理員
system dba
scott
oracle建立使用者
建立使用者命令
create user 使用者名稱 identified by 密碼;
注意:新建立的使用者沒有任何許可權,包括登陸資料庫
oracle許可權
oracle許可權分類
系統許可權:
比如連線資料庫,建立許可權過程,建立表等
oracle規定好能夠做的操作
物件許可權:
針對某乙個物件的許可權,對系統許可權更細化,細化到某乙個物件。 比如對 ,某個表的新增查詢,刪除,更新等。
授權命令
語法格式
grant 命令1,命令2 to 使用者
授予登陸資料庫的許可權
grant create session to cz
授予查詢某錶的許可權
grant select on 表名 to 使用者名稱
連線命令:
conn 使用者名稱/密碼
在命令視窗開啟可以換行寫sql的命令:
ed;
輸入/執行
oracle角色
oracle角色分類
系統預定義角色:系統定義好的角色
使用者自定義角色:如果系統定義好的不夠用
自己定義乙個
oracle角色的作用
授予角色的本質就是授予許可權,
他是授予的一組許可權,為了解決很多許可權需要乙個乙個去授予。
oracle三個重要的系統角色
查詢所以的系統角色:
select * from dba_roles
connect:連線角色
resource:資源角色
dba:資料庫管理員
查詢角色的許可權:
select * from dba_sys_privs where grantee = 『dba』
授予角色
grant 角色名 to 使用者名稱
自定義角色
建立角色命令
create role 角色名
給自定義角色授權
grant 許可權 to 角色名
oracle撤銷許可權
撤銷許可權命令:
revoke 許可權 from 使用者
oracle許可權的傳遞
許可權直接不支援傳遞
在授權的時候可以傳遞許可權的命令
with grant option
物件許可權會受連帶責任同時被許可權
系統許可權不受連帶責任也就是不會同時被取消
oracle系統函式
數值函式
求絕對值
select abs(-12.1) from dual
進一法
select ceil(-12.1) from dual
去尾法
select floor(-12.9) from dual
四捨五入
select round(12.5) from dual
四捨五入保留2..n位小數
select round(12.567,2) from dual
數字擷取
預設擷取整數
select trunc(12.967) from dual
擷取小數後幾位
select trunc(12.917,2) from dual
擷取小數前幾位
select trunc(912.9,-2) from dual
字元函式
轉換成大寫
select upper(『abcd』) from dual
轉換成小寫
select lower(『abcd』) from dual
去掉空格(有時間空格的問題很坑)(前後空格)
select trim(』 accd』) from dual
去掉左邊空格
select ltrim(』 accd 『) from dual
去掉右邊的空格
select rtrim(' accd ') from dual
去掉左邊指定的字元
select ltrim(『abcd』,』ac』) from dual
去掉右邊指定的字元
select rtrim(『abcd』,』dd』) from dual
替換函式
select replace(『this is a girl』,』girl』,』girl 2』) from dual
字串相加
select 『aa』||』bb』 from dual
select concat(『aa』,』cc』) from dual
擷取字串的函式
select substr('abcd',3,1) from dual
第乙個引數是:擷取的位置
第二個引數是:擷取的長度
求長度的函式
select length(『abcd』) from dual
轉換函式
轉化成數字
select to_number('1')+to_number('2') from dual
轉化成字串
select to_char(11)|| to_char(22) from dual
*轉化成字串,格式化時間
來個完整年月日時分秒的時間
select to_char(sysdate,'yyyy-mm-dd hh24-mi-ss') from dual
時間24小時制
select to_char(sysdate,'yyyy-mm-dd hh24-mi-ss') from dual
處理null值的函式
nvl函式:
select nvl('cc','bb') from dual
如果第乙個引數有值就返回把本身,如果沒有值就返回第二個引數
如果第乙個引數為空就返回第二個引數,如果第乙個引數不為空就返回本身
nvl2函式:
select nvl2(」,』bb』,』cc』) from dual
if else
declare ptype int:=5;
begin
--ptype:=1;
if ptype=1 then
dbms_output.put_line('河東獅');
elsif ptype=2 then
dbms_output.put_line('河南獅');
elsif ptype=3 then
dbms_output.put_line('西獅');
else
dbms_output.put_line('獅');
end if;
end;
case when
declare ptype int:=6;
begin
case ptype
when 1 then
dbms_output.put_line('大');
when 2 then
dbms_output.put_line('更大');
else
dbms_output.put_line('超級大');
end case;
end;
配合查詢使用case when
select (
case job
when 'clerk' then '普通員工'
when 'salesman' then '銷售人員'
when 'manager' then '部門經理'
when 'president' then '董事長'
when 'analyst' then '資料分析師'
else
'其他'
end
),ename
from scott.emp
oralce迴圈
loop迴圈
loop
dbms_output.put_line(ptype);
--指定乙個退出條件
exit when ptype=50;
ptype:=ptype+1;
end loop;
while迴圈
while(ptype<=10) --和loop迴圈不同的地方就是退出條件
loop
dbms_output.put_line(ptype);
ptype:=ptype+1;
end loop;
for迴圈
for ptype in 1..50
loop
dbms_output.put_line(ptype);
end loop;
oracle分析函式
oracle分析函式 sql plus環境 1 group by子句 create test table and insert test data.create table students id number 15,0 area varchar2 10 stu type varchar2 2 sc...
Oracle 分析函式
分析函式提供了跨行,多層級聚合引用值的能力,並且可以在資料子集中控制排序粒度。與聚合函式不同,分析函式並不將結果集聚合較少的行。分析函式是在主查詢結果的基礎上進行一定的分析,如分部門彙總,分部門求均值等等。分析函式的模式 function arg1,arg2,arg3.argn over parti...
oracle中的角色
oracle 中的角色 一 何為角色?我在前面的篇幅中說明許可權和使用者。慢慢的在使用中你會發現乙個問題 如果有一組人,他們的所需的許可權是一樣的,當對他們的許可權進行管理的時候會很不方便。因為你要對這組中的每個使用者的許可權都進行管理。有乙個很好的解決辦法就 是 角色。角色是一組許可權的集合,將角...