1. 程式人生 > >oracle資料庫--初識

oracle資料庫--初識

(一)主要特點:

  1. 基於“客戶端/伺服器”(Client/Server)系統結構。
  2. 支援多使用者、大事務量的事務處理。
  3. 在保持資料安全性和完整性方面效能優越。
  4. 支援分散式資料處理。將公佈在不同物理位置的資料庫用通訊網路連線起來,組成一個邏輯上統一的資料庫,完成資料處理任務。
  5. 具有可移植性。Oracle可以在Windows、Linux等多個作業系統平臺上使用。

(二)Oracle基本概念:

  1. 資料庫。這裡的資料庫是磁碟上儲存資料的集合,在物理上表現為資料檔案、日誌檔案和控制檔案等。在邏輯上以表空間形式存在。必須首先建立資料庫,然後才能用Oracle。可以在Database Configuation Assistant上建立。
  2. 全域性資料庫名。用於區分一個數據庫的標識。它由資料庫名稱和域名構成,類似網路中的域名,使資料庫的命名在整個網路環境中唯一。
  3. 資料庫例項。每個啟動的資料庫都對應一個數據庫例項,由這個例項來訪問資料庫中的資料。
  4. 表空間。每個資料庫都是由若干個表空間構成的,使用者在資料庫中建立的所有內容都被儲存到表空間中。一個表空間可以由多個數據檔案組成,但一個數據檔案只能屬於一個表空間。
  5. 資料檔案。副檔名是.dbf,是用於儲存資料庫資料的檔案。一個數據檔案中可能儲存很多個表的資料,而一個表的資料也可以存放在多個數據檔案中。資料檔案和資料庫表不存在一對一的關係。
  6. 控制檔案。技展名.ctl,是一個二進位制檔案。控制檔案是資料庫啟動及執行所必需的檔案。儲存資料檔案和日誌檔案的名稱和位置。Oracle 11g預設包含三個控制檔案。
  7. 日誌檔案。副檔名.log,它記錄了資料的所有更改資訊,並提供了一種資料恢復機制,確保在系統崩潰或其他意外出現後重新恢復資料庫。在工作過程中,多個日誌檔案組之間迴圈使用。
  8. 模式和模式物件。模式是資料庫物件(表、索引等,也稱模式物件)的集合。

 

(三)Oracle資料型別:

  1. 字元資料型別:char,varchar2
  2. 數值資料型別:number
  3. 日期時間資料型別:date,time


(四)SQL語言分類:

  1. 資料定義語言(DDL):create建立、alter更改、truncate截斷、drop刪除
  2. 資料操縱語言(DML ):insert插入、select選擇、delete刪除、update更新
  3. 事務控制語言(TCL ):commit提交、savepoint儲存點、rollback回滾
  4. 資料控制語言(DCL ):grant授予、revoke回收


(五)SQL操作符:

  1. 算術操作符。+(加)、-(減)、*(乘)、/(除)。
  2. 比較操作符:=、!=、<、<=、>、>=、between.. and 、in、not in、like、is null、is not null。
  3. 邏輯操作符:and , or , not。
  4. 集合操作符:將多個查詢的結果組合成一個結果集。
  •     union 取並集去重
  •     union all 取並集不去重
  •     minus 取差集,第一個查詢語句減去第二個查詢語句的共同的
  •     intersect 取交集,取兩個查詢語句的公共部分

(六)SQL函式:
    

1.字元函式:

2.數值函式:

3.日期函式:

4.轉換函式:

5.聚合函式:

  • (1)avg(x):返回x的平均值 
  • (2)count(x):返回一個包含x的查詢返回的行數 
  • (3)max(x):返回x的最大值 
  • (4)min(x):返回x的最小值 
  • (5)median(x):返回x的中間值 
  • (6)stddev(x):返回x的標準差 
  • (7)sum(x):返回x的和 
  • (8)variance(x):返回x的方差 

6.分析函式:

分析函式是對一組查詢結果進行運算,然後獲行結果。與聚合函式的區別在於返回多行,聚合函式每組返回一行。用於對分組後組內進行排序。

  • row_number函式返回一個唯一的值,當遇到相同資料時,排名按照記錄集中記錄的順序依次遞增。
  • dense_rank函式返回一個唯一的值,當遇到相同資料時,所有相同資料的排名都是一樣的。
  • rank函式返回一個唯一的值,當遇到相同的資料時,所有相同資料的排名是一樣的,同時會在最後一條相同記錄和下一條不同記錄的排名之間空出排名。

7.其他函式:


(七)多表聯查:

  1. 內連線:inner jion
  2. 左外連線:left jion
  3. 右外連線:right jion
  4. 交叉連線:cross


(八)常見SQL函式:

     1. rownum ,rowid 偽列

          參考地址:https://blog.csdn.net/yu102655/article/details/52370542?utm_source=copy

     2. case:流程控制函式

          參考地址:https://blog.csdn.net/weixin_42382211/article/details/80773483

     3. exists,not exists

          參考地址:https://www.cnblogs.com/ThreeStone007/p/6589633.html

     4. order by,group by ,having

         參考地址:https://www.cnblogs.com/rob0121/articles/1714826.html

     5. like

         參考地址:http://www.w3school.com.cn/sql/sql_like.asp

     6. distinct

         參考地址:https://blog.csdn.net/jingshaozhi/article/details/78061341


(九)資料庫約束,索引,檢視,主鍵,觸發器,遊標