1. 程式人生 > >Oracle數據庫基礎1

Oracle數據庫基礎1

非空約束 表達 聲音 reference 逗號 邏輯運算符 lean 身份證號 語言

一.準備工具

1.Oracle數據庫:全名oracle Datebase ,是甲骨文公司的一款關系數據庫管理系統;

2.PL/SQL : PL/SQL Developer是一個集成開發環境專門面向開發Oracle數據庫的應用,PL/SQL也是一種程序語言,叫做過程化SQL語言。

二.創建一個用戶

打開PLSQ軟件,在users文件夾中右鍵創建用戶,設置用戶名和口令,在角色權限選項裏創建兩個角色,應用後關閉軟件重新打開登錄即可。

技術分享圖片技術分享圖片

技術分享圖片

查看服務:按win+R鍵打開彈窗,輸入services.msc打開計算機服務菜單,查看OracleServiceXE(XE:指數據庫實例名)和OracleXETNSListener(監聽器)兩項服務是否啟動,用來保證數據庫的正常運行。

三.表空間

1.Oracle數據庫對數據的管理是基於表空間的概念來的,各種數據以及存儲數據的優化實際上也是通過優化表空間來實現的。

2.表空間的分類:

  • 永久表空間:用來存放表的數據, 視圖, 存儲過程或者函數等需要永久保存的對象的空間。
  • 臨時表空間:用來存放查詢結果等臨時數據的空間。
  • UNDO表空間:用於存放回滾數據, 已經刪除數據等對象的表空間。

3.關於用戶的分類:

  • sys: 超級管理員,權限最大。
  • system: 次超級管理員。
  • scott: 普通用戶。

四.oracle基礎數據類型

1.字符型:包含字符串

char(最大長度2000):括號裏寫數據類型的長度,是固定長度,不可變。缺點是多余的空間不用就會浪費。

nchar(最大長度1000):同char(),支持unicode。

varchar2(最大長度4000):長度可變,一般用這個類型。

nvarchar2(最大長度2000):同varchar2( ); 支持unicode。

2.數字類型

number(包括正負整數和小數, 有效位數, 小數位數);

number(5):括號裏寫有效位數,這裏最大範圍是99999,最小範圍是-99999。

number(5,2):逗號後面指小數的有效位數,這裏指最大範圍是999.99,最小範圍是-999.99。

Integer:指比較小的整數。

3.日期類型:時間

date:取值範圍:公元前4712年1月1號---公元9999年12月31號, 可以直接精確到秒。

timestamp:時間戳: 更精確的數據, 可以精確到毫秒。

4.其他類型

clob:表示大文本,最大容量4g,以字符串的形式存放。

blob:以二進制的形式存儲文件,如圖片,視頻,聲音等,最大容量4g。

5.boolean類型有三個:true;false;null/unknown(空/未知);

五.oracle運算符和表達式

表達式類似於java, 可以是常量, 可以是變量, 也可以是表中的一個字段。

1.賦值運算符(:=)

2.算術運算符(+ - * / 註意這個地方沒有取余的運算符, 取余使用mod函數)

3.比較運算符(> >= < <= =[註意不是==] <>/!=)

4.邏輯運算符(and or not)

5.字符串連接符(||)

六.創建表

在Tables文件中新建表,在一般選項中輸入該表名稱,如新建一個用戶表可以寫為:T_users,在行選項裏添加該表中內容的分類,以行區分,如該用戶表中有用戶名和用戶密碼,可以命名為:uname及psm,並選擇該數據的數據類型,點擊應用,這樣一個最基本的表格叫創建好了;

編輯表格:鼠標右鍵選中表格文件點擊編輯選項可對表格進行編輯。

編輯數據:鼠標右鍵選中表格文件點擊編輯表格選項可對建好的表格進行數據編輯,輯完成後點擊對號圖標,在點擊工具欄中的提交圖標按鈕可將修改後的數據保存。

查詢數據:第一種是直接鼠標右鍵表格文件點擊查詢數據,第二種是新建sql窗口,輸入代碼查詢數據。

技術分享圖片

select和from都屬於SQL裏的常用關鍵字,在SQL語言裏行註釋用--(兩個減號)表示。

七.表的主鍵與外鍵

定義主鍵和外鍵主要是為了維護關系數據庫的完整性。

1.主鍵是能確定一條記錄的唯一標識,比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復,所以,身份證號是主鍵。

2.外鍵用於與另一張表的關聯。是能確定另一張表記錄的字段,用於保持數據的一致性。比如,A表中的一個字段,是B表的主鍵,那他就可以是A表的外鍵。

八.Oracle數據庫約束

約束實際是定義了一種規則,定義要輸入的值是一個什麽樣的值,或是哪個範圍的值,其作用是確保數據的完整性和精確性。

1.非空約束

記錄一條信息的時候如果用戶名和密碼沒有被記錄, 那麽這條記錄是沒有實際意義的, 創建表的時候默認是可以為空的。可以在編輯表中將列中可為空對勾去掉。
代碼示例: ALTER TABLE t_users MODIFY uname NOT NULL 意思是將t_users表格內的uname字段設置為非空。

2.主鍵約束

為了保證表中數據的唯一性,一個表中只能有一個主鍵,但這個主鍵可以由多個字段(聯合主鍵,復合主鍵)構成,但不建議這樣。

可以在建表時在鍵選項中設置關鍵字:primary key ;例如將名字設為主鍵可以這麽寫:PK_T_users_uname (oracle對大小寫不敏感,保存後自動轉換為大寫)

代碼示例:ALTER TABLE 表名 ADD CONSTRAINT 主鍵名稱 PRIMARY KEY(uname)

3.外鍵約束

唯一一個涉及兩個表中的字段約束,插入數據的時候, 從表中的關聯關系的字段, 要麽是一個主表主鍵的關聯, 要麽是一個空值。

代碼示例:ALTER TABLE 表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY(外鍵字段名) REFERENCES 主表名

4.唯一約束

作用:保證字段值的唯一性,與主鍵的區別:唯一約束可以為空值, 唯一約束可以有多個;使用語句創建唯一約束只能寫多條語句, 類似於insert into;

代碼示例:ALTER TABLE 表名 ADD CONSTRAINT uk_appuser UNIQUE(指定的列名)

5.檢查約束

作用: 使表當中的值更具有實際意義;比如定義一個年齡的範圍;

代碼示例: ALTER TABLE appuser ADD CONSTRAINT c_age CHECK(age > 0 AND age < 150)

Oracle數據庫基礎1