1. 程式人生 > >oracle-day02

oracle-day02

-- 建立表空間
create tablespace tbs_qy86
datafile 'E:\tablespace\qy86.dbf'--該表空間預設使用的檔案
size 100m 
autoextend on next 10m maxsize unlimited -- 100m用完,自動增長十兆,最大無上限

create tablespace tbs_qy86b
datafile 'E:\tablespace\qy86b.dbf'--該表空間預設使用的檔案
size 100m 
autoextend on next 10m maxsize unlimited -- 100m用完,自動增長十兆,最大無上限

--刪除表結構
drop tablespace tbs_qy86b including contents and datafiles;

-- 建立使用者
create user user_qy86
identified by admin  --設定密碼
default tablespace tbs_qy86 -- 預設使用表空間

--更新使用者
-- 更新鎖定狀態
alter user user_qy86 account lock; --鎖定該使用者
alter user user_qy86 account unlock;

-- 使用者授權
-- connect 連結許可權 有登入,部分DML
-- resource 全部DML和部分DDL許可權
-- dba 和system許可權一樣,可以對其他使用者進行新增刪除

--賦權
grant connect,resource to user_qy86 --給使用者賦予連結許可權和可以DML操作
grant resource to user_qy86
-- 取消許可權
revoke connect,resource from user_qy86

--跟新使用者密碼
alter user user_qy86 identified by admin

-------------------------------------------------------------

-- oracle 函式
-- concat
select concat(concat('Hello','World') ,'!!')from dual;
select '你好'||'很好'||'!!!' from dual
select concat('aas','asdf'||'asdf') from dual;

-- initcap首字母大寫
select initcap('hello world') from dual
select initcap(concat('job','-'||ename))as je,job,ename from emp

-- upper lower
select upper('asd') from dual; --全變大寫
select lower('ASD') from dual;
-- instr (相當於 indexof()) 第一次出現的位置,從1開始,不存在為0
select instr('asdfa','a') from dual
select instr('asdfa','a',3) from dual --從3開始之後出現a的位置 

-- substr 擷取字串
select substr('asdfasd',2,4) from dual
select substr('26332632633',3) from dual

-- 'fa,ddd,fa'
select substr('fa,ddd,fa',
       instr('fa,ddd,fa',',',1,1)+1,
       instr('fa,ddd,fa',',',1,2)-(instr('fa,ddd,fa',',',1,1)+1)
)from dual

-- rpad lpad 補齊
select rpad('aa',5,'名aa')from dual
select lpad('aa',5,'mign')from dual
-- dbms_random.value隨機數
select trunc((dbms_random.value*1000),0)from dual
select 'order'||lpad(trunc(dbms_random.value*1000),8,0)from dual
select 'order'||lpad(trunc(seq_tb_b.nextval),8,0)from dual

-- ltrim rtrim 去空格
select rtrim('    a    a')from dual
select length('   ')from dual
select length('   asdf  '),length(trim(' 'from '      asdf  ')),trim(' 'from '    asdf  ')from dual

-- replace 替換
select replace('asdfasfd','a','o')from dual