Oracle 11g xe版本---總結1

1、建立用戶和授予權限

1.1 環境:

  • Oracle 11g xe
  • 第三方圖形客戶端: PLSQL
  • Windows 10
  • 必須登陸 HR 用戶,下面的查詢會使用到 HR 中的表。



1.2 SQL 語句

建立用戶:create user 用戶名 identified by 用戶名;數據庫

分配權限或角色:grant connect,resource to 用戶名;ide

取消權限或角色:revoke 權限/角色 from 用戶名;函數


1.3 經常使用系統預約義角色

connect:臨時用戶優化

resource:更爲可靠的正式用戶對象

dba:數據庫管理員角色,擁有管理數據庫的最高權限排序

注意:角色是具備名稱的一組權限的組合。索引


2、SQL 語言的總結

2.1  SQL能夠作什麼?

  • 數據庫數據的增刪改查操做(CRUP)
  • 數據庫對象的建立,修改和刪除操做
  • 用戶權限/角色的授予和取消
  • 事務控制


2.2  SQL語言的分類

  • DQL  (數據查詢語句)select
  • DML(數據操做語句)insert、update、delete
  • DDL(數據定義語句)create、alter、drop、rename
  • DCL(數據控制語句)grant、revoke
  • TCL(事務控制語句)savepoint、rollback、commit

【注意】數據操做語句針對表中的數據,而數據定義語句針對數據庫對象(表、索引、視圖、觸發器、存儲過程、函數、表空間等)事務


2.3  select 查詢語句

2.3.1 字段別名

1)重命名查詢結果中的字段,以加強可讀性;字符串

2)別名若是含有空格或其餘特殊字符或大小寫敏感,需用雙引號引發來;it

3)as 能夠省略。


2.3.2  去除重複行

在搜索字段名前,加一個 distinct 關鍵字

例如:select distinct deptno from emp;

2.3.3  排序---order by

排序包括升序(asc,默認升序,該關鍵字可不寫)和 降序(desc)

例如:select empno,ename,sal from emp order by sal;          --------以sal升序進行排序

         select empno,ename,sal from emp order by sal desc; --------以sal降序進行排序

2.3.4  where 字句

舉例:

select * from emp where deptno = 10;

select * from emp where ename = ‘SMITH’;

select * from emp where hiredate = ‘02-4月-81’;

注意:

1)字符串和日期值要用單引號括起來

2)字符串大小寫敏感

3)日期值格式敏感!!!


其餘關鍵字:

  • between… and…     ------界於兩值之間(包括邊界)
  • in(value,value…)    ------出如今集合中
  • like                       ------模糊查詢(%表示零個或多個字符  _表示一個字符,特殊字符可以使用escape標識符查找)
  • is null                   -------爲空值
  • not is null             -------不爲空

2.3.5  邏輯運算符

例如:select * from emp where deptno = 10 and sal > 1000;

2.3.6   SQL優化問題

and:把檢索結果較少的條件放到後面

or  :把檢索結果較多的放到後面

2.3.7   四種運算符

重要:算術  >  鏈接   >  比較  >  邏輯

優先級:

  1. * /
  2. + -
  3. ||
  4. >, <, >=, <=, <>不等於
  5. is [not] null ,like [not], in(set)
  6. [not] between… and…
  7. not
  8. and
  9. or

【注】:

  • 不等於也可使用 != 和 ^=來顯示
  • between… and… 是從上限到下限,並且都是閉區間,包含了上限和下限
  • in(set) 猶如多個 or 表達式組合而成
  • % 表示零個或多個字符,_表示一個佔位符。 ---------舉例:select last_name from employees where last_name like ’%05’;
  • escape 關鍵字 :能夠用該關鍵字標識符搜索實際的%和_符號。使用escape選項,該選項指定換碼符是什麼。   ------舉例:select last_name,job_id from employees where job_id like ‘SA\_%’ escape ‘\’;


2.3.8   使用函數

函數分爲:

單行函數:字符函數、數值函數、日期函數、轉換函數、通用函數

多行函數:sum(),avg()  ----僅適用數值型。     count(),max(),min()   -----適用任何類型數據

2.3.8.1 單行函數

字符函數:

大小寫處理函數:

  • lower(char)                    -----轉換爲小寫
  • upper(char)                    -----轉換爲大寫
  • initcap(char)                   -----首字母大寫

字符處理函數:

  • concat(char1,char2)        -----鏈接字符串
  • substr(char,pos,len)        -----取子字符串,取char字符串下標位置爲pos起,len個字符
  • length(str)                     -----求字符串長度
  • instr(char,substr[,pos])   -----查找字符串位置,例如:  instr(‘worldwide’,’d’)
  • lpad(char1,len,char2)   |   rpad(char1,len,char2)   --------左填充和右填充。char1 左邊|右邊 填充【len-length(char1)】個 char2 字符。
  • trim(trim_character from trim_source)                  ----- 從一個字符串中去除頭(leading)或尾(trailing)或頭尾兩側(both)的字符(默認頭尾兩側)                           
  • ltrim(char,set)                -----左剪裁
  • rtrim(char,set)                -----右剪裁
  • replace(char,search_str,replace_str) -----字符串替換


【注意】:

  • trim 舉例:去除頭,select trim(leading ‘H’ from ‘HelloWorldH’) from dual;    其餘相似
  • dual 表是一個虛擬的表,實際上,它並不存在。


數值函數:

一、round(arg1,arg2) | round(arg):

  • 四捨五入指定小數的值,arg1--數據類型,原數字;arg2---整數類型,小數點保留的位數,能夠是一個負數,負數表示指定整數的位置。
  • arg--數據類型,原數字;四捨五入保留整數。

二、trunc(arg1,arg2):截斷指定小數的值,不作四捨五入處理。

  • arg1:數字類型。原數字。 arg2:整數類型。小數點保留的位數,可使一個負數。負數則表示指定整數的位置。

    trunc(arg1):四捨五入保留整數。 arg1:數字類型。原數字。 arg2:整數類型。小數點保留的位數。

三、mod(arg1,arg2):取餘,也就是取模。 arg1:數字類型。被除數。 arg2:數字類型。除數。

日期函數:


轉換函數:

其餘函數:


2.3.8.2    多行函數
相關文章
相關標籤/搜索