10、 Oracle 基本操做
1 Oracle 中的數據類型
1.1字符類型
字符串數據類型還能夠依據存儲空間分爲固定長度類型(CHAR) 和可變長度類型
(VARCHAR2/NVARCHAR2)兩種。
1.1.1CHAR 類型
CHAR 類型,定長字符串,會用空格填充來達到其最大長度。非 NULL 的 CHAR(12)
老是包含 12 字節信息。CHAR 字段最多能夠存儲 2,000 字節的信息。若是建立表時,不指
定 CHAR 長度,則默認爲 1。
1.1.2VARCHAR2 類型
變長字符串,與 CHAR 類型不一樣,它不會使用空格填充至最大長度。VARCHAR2 最多
能夠存儲 4,000 字節的信息。
1.1.3NVARCHAR2 類型
這是一個包含 UNICODE 格式數據的變長字符串。 NVARCHAR2 最多能夠存儲 4,000
字節的信息。
1.2數字類型
1.2.1NUMBER 類型
NUMBER(P,S)是最多見的數字類型。
P 是 Precision 的英文縮寫,即精度縮寫,表示有效數字的位數,最多不能超過 38 個有
效數字。
S 是 Scale 的英文縮寫,表示小數點數字的位數。
1.2.2INTEGER 類型
INTEGER 是 NUMBER 的子類型,它等同於 NUMBER(38,0),用來存儲整數。若插
入、更新的數值有小數,則會被四捨五入。
1.3浮點數
1.3.1BINARY_FLOAT 類型
BINARY_FLOAT 是 32 位、 單精度浮點數字數據類型。能夠支持至少 6 位精度,每一個
BINARY_FLOAT 的值須要 5 個字節,包括長度字節。
1.3.2BINARY_DOUBLE
BINARY_DOUBLE 是爲 64 位,雙精度浮點數字數據類型。每一個 BINARY_DOUBLE
的值須要 9 個字節,包括長度字節。
1.4日期類型
1.4.1DATE 類型
DATE 是最經常使用的數據類型,日期數據類型存儲日期和時間信息。雖然能夠用字符或數
字類型表示日期和時間信息,可是日期數據類型具備特殊關聯的屬性。爲每一個日期值,Oracle
存儲如下信息: 世紀、 年、 月、 日期、 小時、 分鐘和秒。通常佔用 7 個字節的存儲空
間。
1.4.2TIMESTAMP 類型
這是一個 7 字節或 12 字節的定寬日期/時間數據類型。它與 DATE 數據類型不一樣,由於
TIMESTAMP 能夠包含小數秒,帶小數秒的 TIMESTAMP 在小數點右邊最多能夠保留 9 位。
1.4.3TIMESTAMP WITH TIME ZONE 類型
這是 TIMESTAMP 類型的變種,它包含了時區偏移量的值。
1.4.4TIMESTAMP WITH LOCAL TIME ZONE 類型
將時間數據以數據庫時區進行規範化後進行存儲
1.5LOB 類型
1.5.1CLOB 類型(Character Large Object)
二進制數據,存儲單字節和多字節字符數據。最大長度 4G。
1.5.2BLOB 類型(Binary Large Object)
它存儲非結構化的二進制數據大對象,它能夠被認爲是沒有字符集語義的比特流,通常是圖像、聲音、視頻等文件。最大長度 4G。
1.5.3NCLOB 數據類型
存儲 UNICODE 類型的數據 ,最大長度 4G。
1.6LONG & RAW & LONG RAW 類型
1.6.1LONG 類型
它存儲變長字符串(超長字符串),最多達 2G 的字符數據(2GB 是指 2 千兆字節, 而不
是 2 千兆字符)。
1.6.2LONG RAW 類型
能存儲 2GB 的原始二進制數據,可存放多媒體圖象聲音等。
1.6.3RAW 類型
用於存儲二進制或字符類型數據,必須制定長度。這種數據類型存儲的數據不會發生字
符集轉換。可存放多媒體圖象聲音等。
2 在 Oracle 中建立表
2.1Oracle 表名命名規則
必須以字母開頭
長度不能超過 30 個字符
避免使用 Oracle 的關鍵字
只能使用 A-Z、a-z、0-九、_#$
2.2使用帶有特殊符號的表名
Oracle 在建立表時,表名會自動轉換大寫。Oracle 對錶名大小寫不敏感。
若是在定義表名時含有特殊符號,或者用小寫字母來定義表名則須要在表名兩側添加雙
引號。
3 數據庫中的約束
3.1約束的做用
約束用於規定表中的數據規則,若是存在違反約束的數據行爲,行爲會被約束終止。
3.2約束類型
3.2.1主鍵約束(Primay Key Constraint)
惟一性,非空性。
3.2.2惟一約束 (Unique Constraint)
惟一性,能夠空,但只能有一個。
3.2.3檢查約束 (Check Constraint)
對該列數據的範圍、格式的限制(如:年齡、性別等)。
3.2.4非空約束 (Not Null Constraint)
該列不容許包含空值。
3.2.5外鍵約束 (Foreign Key Constraint)
須要創建兩表間的關係並引用主表的列。
4 數據庫中表關係
設計關係數據庫的一個重要部分是將數據元素劃分爲相關的表,咱們能夠根據數據自己
的關聯性,將不一樣表之間的數據聚合在一塊兒。注意:不管在表與表之間創建了什麼樣的關係,
決定數據之間是否有關係的不是表,而是數據自己。
表與表之間通常存在三種關係,即一對一,一對多,多對多關係。
4.1一對多
一對多關係是創建在兩張表之間的關係。一個表中的一條數據能夠對應另外一個表中的多
條數據。記住:外鍵永遠在多方。外鍵容許重複,容許含有空值。
4.1.2T_STUDENT 表
4.2一對一
4.2.1T_USER 表
4.2.2T_ROLE 表
4.3多對多
須要創建一箇中間表,中間表裏創建兩個列,而後須要用這兩個列做爲這個表的聯合主
鍵,而後每一個列在做爲外鍵參照各自的表的主鍵
4.3.1T_ORDER 表
4.3.2T_ITEM 表
4.3.3T_ORDER_ITEM 表