oracle資料庫--初識
阿新 • • 發佈:2018-12-19
(一)主要特點:
- 基於“客戶端/伺服器”(Client/Server)系統結構。
- 支援多使用者、大事務量的事務處理。
- 在保持資料安全性和完整性方面效能優越。
- 支援分散式資料處理。將公佈在不同物理位置的資料庫用通訊網路連線起來,組成一個邏輯上統一的資料庫,完成資料處理任務。
- 具有可移植性。Oracle可以在Windows、Linux等多個作業系統平臺上使用。
(二)Oracle基本概念:
- 資料庫。這裡的資料庫是磁碟上儲存資料的集合,在物理上表現為資料檔案、日誌檔案和控制檔案等。在邏輯上以表空間形式存在。必須首先建立資料庫,然後才能用Oracle。可以在Database Configuation Assistant上建立。
- 全域性資料庫名。用於區分一個數據庫的標識。它由資料庫名稱和域名構成,類似網路中的域名,使資料庫的命名在整個網路環境中唯一。
- 資料庫例項。每個啟動的資料庫都對應一個數據庫例項,由這個例項來訪問資料庫中的資料。
- 表空間。每個資料庫都是由若干個表空間構成的,使用者在資料庫中建立的所有內容都被儲存到表空間中。一個表空間可以由多個數據檔案組成,但一個數據檔案只能屬於一個表空間。
- 資料檔案。副檔名是.dbf,是用於儲存資料庫資料的檔案。一個數據檔案中可能儲存很多個表的資料,而一個表的資料也可以存放在多個數據檔案中。資料檔案和資料庫表不存在一對一的關係。
- 控制檔案。技展名.ctl,是一個二進位制檔案。控制檔案是資料庫啟動及執行所必需的檔案。儲存資料檔案和日誌檔案的名稱和位置。Oracle 11g預設包含三個控制檔案。
- 日誌檔案。副檔名.log,它記錄了資料的所有更改資訊,並提供了一種資料恢復機制,確保在系統崩潰或其他意外出現後重新恢復資料庫。在工作過程中,多個日誌檔案組之間迴圈使用。
- 模式和模式物件。模式是資料庫物件(表、索引等,也稱模式物件)的集合。
(三)Oracle資料型別:
- 字元資料型別:char,varchar2
- 數值資料型別:number
- 日期時間資料型別:date,time
(四)SQL語言分類:
- 資料定義語言(DDL):create建立、alter更改、truncate截斷、drop刪除
- 資料操縱語言(DML ):insert插入、select選擇、delete刪除、update更新
- 事務控制語言(TCL ):commit提交、savepoint儲存點、rollback回滾
- 資料控制語言(DCL ):grant授予、revoke回收
(五)SQL操作符:
- 算術操作符。+(加)、-(減)、*(乘)、/(除)。
- 比較操作符:=、!=、<、<=、>、>=、between.. and 、in、not in、like、is null、is not null。
- 邏輯操作符:and , or , not。
- 集合操作符:將多個查詢的結果組合成一個結果集。
- 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.其他函式:
(七)多表聯查:
- 內連線:inner jion
- 左外連線:left jion
- 右外連線:right jion
- 交叉連線: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
(九)資料庫約束,索引,檢視,主鍵,觸發器,遊標