本系列教程的主要目標(biāo)是幫助您構(gòu)建強(qiáng)大的Oracle數(shù)據(jù)庫基礎(chǔ),在完成本系列后,您將能夠編寫復(fù)雜的SQL語句來查詢數(shù)據(jù)和管理數(shù)據(jù)庫對象。
讀者(網(wǎng)友)經(jīng)常問到的問題:
有什么辦法能快速學(xué)習(xí)Oracle?
有什么好的Oracle教程?
針對上面兩個(gè)問題,很遺憾這里解答不了,學(xué)習(xí)IT技術(shù)沒有太多的捷徑,一般人都是這樣:看教程(文檔)<->思考<->上機(jī)驗(yàn)證,思考很重要,實(shí)踐也很重要。注意:請不要迷信你比別人聰明多少 ,大家比的就是時(shí)間和那份堅(jiān)持。
本系列教程非常實(shí)用,因此需要訪問Oracle Database 12c環(huán)境進(jìn)行動(dòng)手練習(xí)和概念驗(yàn)證。如果還沒有Oracle數(shù)據(jù)庫系統(tǒng)可以使用,可以從Oracle網(wǎng)站下載,并將其安裝用于學(xué)習(xí)目的。
注意: 有關(guān)如何安裝Oracle數(shù)據(jù)庫和下載示例數(shù)據(jù)庫以供練習(xí)的詳細(xì)信息,請查看Oracle數(shù)據(jù)庫入門教程。
第1節(jié). 查詢數(shù)據(jù)
本節(jié)將學(xué)習(xí)如何從Oracle數(shù)據(jù)庫中查詢數(shù)據(jù)。我們將從一個(gè)簡單的查詢開始,從單個(gè)表中檢索數(shù)據(jù)。
Select語句 - 演示如何查詢單個(gè)表中的數(shù)據(jù)。
第2節(jié). 排序數(shù)據(jù)
ORDER BY語句 - 按升序或降序?qū)Σ樵兊慕Y(jié)果集進(jìn)行排序。
第3節(jié). 過濾數(shù)據(jù)
DISTINCT - 介紹如何消除查詢輸出中的重復(fù)行。
WHERE - 演示如何為查詢返回結(jié)果集中的行記錄指定過濾條件。
AND - 組合兩個(gè)或兩個(gè)以上的布爾表達(dá)式,如果所有表達(dá)式都為true,則返回true。
OR - 組合兩個(gè)或兩個(gè)以上的布爾表達(dá)式,如果其中一個(gè)表達(dá)式為true,則返回true。
FETCH - 演示如何使用行限制子句限制查詢返回的行數(shù)。
IN - 確定值是否與列表或子查詢中的任何值相匹配。
BETWEEN - 基于一系列值(區(qū)間值)過濾數(shù)據(jù)。
LIKE - 根據(jù)特定模式執(zhí)行匹配。
第4節(jié). 連接表
INNER JOIN - 演示如何從表中查詢具有與其他表匹配的行記錄。
LEFT JOIN - 介紹左連接概念,并學(xué)習(xí)如何使用它選擇左表中具有,但右表中不具有的行記錄。
RIGHT JOIN - 解釋右連接概念,并演示如何從右表查詢具有,但左表中不具有的行記錄。
CROSS JOIN –介紹如何從多個(gè)表中構(gòu)建笛卡爾乘積。
Self Join - 演示如何將表連接到自身以查詢分層數(shù)據(jù)或比較同一個(gè)表中的行記錄。
第5節(jié). 分組數(shù)據(jù)
GROUP BY - 演示如何將行分組為子組,并為每個(gè)分組應(yīng)用聚合函數(shù)。
HAVING - 演示如何過濾分組中的行記錄。
第6節(jié). 子查詢
子查詢 - 介紹子查詢的概念以及如何使用子查詢來執(zhí)行高級數(shù)據(jù)選擇技術(shù)。
相關(guān)子查詢 - 了解相關(guān)的子查詢,它是一個(gè)依賴于外部查詢返回的值的子查詢。
EXISTS和NOT EXISTS - 檢查子查詢返回的行是否存在。
ANY,SOME和ALL - 將值與列表或子查詢進(jìn)行比較。
第7節(jié). 設(shè)置操作符
本節(jié)介紹使用集合運(yùn)算符合并兩個(gè)或多個(gè)獨(dú)立查詢的結(jié)果集的步驟。
UNION - 演示如何將兩個(gè)查詢的結(jié)果合并為一個(gè)結(jié)果。
INTERSECT - 演示如何實(shí)現(xiàn)兩個(gè)獨(dú)立查詢的結(jié)果的交集。
MINUS - 學(xué)習(xí)如何從一個(gè)結(jié)果集中減去另一個(gè)結(jié)果(也就是求差集)。
第8節(jié)修改數(shù)據(jù)
在本節(jié)中,將學(xué)習(xí)如何更改Oracle數(shù)據(jù)庫的數(shù)據(jù)內(nèi)容。用于修改數(shù)據(jù)的SQL命令被稱為數(shù)據(jù)操縱語言(DML)。
INSERT - 學(xué)習(xí)如何在表中插入一行。
INSERT INTO SELECT - 從查詢結(jié)果中將數(shù)據(jù)插入到表中。
INSERT ALL - 討論多重插入語句,將多行插入到一個(gè)或多個(gè)表中。
UPDATE - 演示如何更新表的存在的數(shù)據(jù)值。
DELETE - 演示如何從表中刪除一行或多行。
MERGE - 使用單個(gè)語句逐步完成插入,更新和刪除操作。
第9節(jié). 數(shù)據(jù)定義
本節(jié)介紹如何管理數(shù)據(jù)庫和表的最重要的數(shù)據(jù)庫對象。
CREATE TABLE - 演示如何在數(shù)據(jù)庫中創(chuàng)建新表。
IDENTITY列 - 了解如何使用IDENTITY子句來定義表的標(biāo)識列。
ALTER TABLE - 演示如何改變表的結(jié)構(gòu)。
ALTER TABLE ADD列 - 顯示如何將一個(gè)或多個(gè)列添加到現(xiàn)有表
ALTER TABLE MODIFY列 - 演示如何更改表中現(xiàn)有列的定義。
DROP COLUMN - 了解如何使用各種語句從表中刪除一列或多列。
DROP TABLE - 演示如何從數(shù)據(jù)庫中刪除表。
TRUNCATE TABLE - 更快,更有效地刪除表中的所有數(shù)據(jù)。
RENAME TABLE - 學(xué)習(xí)如何重命名表和處理其依賴對象的過程。
第10節(jié). Oracle數(shù)據(jù)類型
Oracle數(shù)據(jù)類型 - 內(nèi)置Oracle數(shù)據(jù)類型的概述。
NUMBER - 介紹數(shù)字?jǐn)?shù)據(jù)類型,并展示如何使用它為表定義數(shù)字列。
FLOAT - 通過實(shí)例來解釋Oracle中的浮點(diǎn)數(shù)據(jù)類型。
CHAR - 了解固定長度的字符串類型。
NCHAR - 演示如何存儲(chǔ)固定長度的Unicode字符數(shù)據(jù),并解釋CHAR和NCHAR數(shù)據(jù)類型之間的區(qū)別
VARCHAR2 - 向您介紹可變長度字符,并向您展示如何在表中定義可變長度字符列。
NVARCHAR2 - 了解如何在數(shù)據(jù)庫中存儲(chǔ)可變長度的Unicode字符。
DATE - 討論日期和時(shí)間數(shù)據(jù)類型,并說明如何有效地處理日期時(shí)間數(shù)據(jù)。
TIMESTAMP - 介紹如何以小數(shù)秒精度存儲(chǔ)日期和時(shí)間。
INTERVAL - 介紹區(qū)間數(shù)據(jù)類型,主要用來存儲(chǔ)時(shí)間段。
TIMESTAMP WITH TIME ZONE - 了解如何使用時(shí)區(qū)數(shù)據(jù)存儲(chǔ)日期時(shí)間。
第11節(jié). 約束
主鍵 - 解釋主鍵概念,并演示如何使用主鍵約束來管理表的主鍵。
外鍵 - 解釋介紹外鍵概念,并演示如何使用外鍵約束來強(qiáng)制表之間的關(guān)系。
NOT NULL約束 - 演示如何確保列不接受NULL值。
UNIQUE約束 - 討論如何確保存儲(chǔ)在一列或一組列中的數(shù)據(jù)在整個(gè)表內(nèi)的行之間是唯一的。
CHECK約束 - 在將數(shù)據(jù)存儲(chǔ)到表中之前添加用于檢查數(shù)據(jù)的邏輯的過程。