標籤:地方 預設 通過 語句塊 prim 整合 font gui lte
以前的項目都是使用mysql資料庫開發的,如今進了新的公司,開始接觸到了Oracle資料庫,而自己以前沒有接觸過,就自己擠時間來學習一下。
一.關係型資料庫的概念
關係型資料理論由E.F.Codd博士在1970年提出;
Codd制定了一個資料庫產品成為關係型資料庫所必備一系列相關標準;
它是RDBMS(關係型資料庫管理系統)的基礎;
關係型資料庫需要包含下面三個方面:
1.對象或關係的集合;
2.基於關係的操作集合;
3.因資料精確性和一致性二帶來的資料的完整性;
關係型資料庫是關係的集合或二維表的集合;
每個表有行和列組成;
可以通過Structured Query Language(SQL)來動作表中的資料;
表中的每一行資料可以通過主鍵即Primary Key(PK)來唯一標識;
表與表之間可通過外鍵即Foreign Key(FK)來關聯;
關係型資料庫中的對象:
1.表:儲存的基本單元,有行和列組成;
2.視圖:從一個或多個表的資料自己的一邏輯表示
3.序列:用來產生主鍵;
4.索引:提高查詢的速度;
5.同義字:一個對象的別名;
6.編程單元:包括過程、函數或包,以及PL/SQL中的聲明。
二.ORACLE簡介
oracle是一個最大的資料庫廠商提供的關係型資料庫產品
oracle的RDBMS也稱為oracle伺服器
1.一個儲存資料的地方;
2.能快速的獲得資料;
3.資料庫安全性;
4.分布式的資料庫;
5.用戶端和伺服器的配置;
SQL——結構化的查詢語言,通過它能以一種標準化的方法來對關係型資料庫種的資料進行訪問和操作。
SQL*Plus——是最簡單的資料庫開發工具。它允許使用者從提示行上以互動方式輸入SQL語句和PL/SQL語句塊。這些語句被直接發給資料庫,而結果會返回到螢幕上。通常,SQL*Plus與oracle伺服器整合在一起,是標準oracle安裝的一部分。SQL/Plus是字元模式環境,window版本包括了需對GUI操作,主要用於串連資料庫和設定SQL*Plus選項。
PL/SQL——是用於從各種環境中訪問oracle資料庫的一種比較複雜的程式設計語言。它與資料庫伺服器整合在一起,也是標準資料庫安裝的一部分。
SQL命令:
1.取值語句:
SELECT
2.資料動作陳述式Data manipulation language(DML):
INSERT UPPDATE DELETE
3.資料定義語句Data definition language(DDL):
CREATE ALTER DROP RENAME TRUNCATE
4.事務控制語句Transaction control:
COMMMIT ROLLBACK SAVEPIONT
5.資料控制語句Data control language(DCL):
GRANT REVOKE
三.SELECT語句
文法:SELECT [DISTINCT] {*,column [alias],......} FROM table;
說明:
1.SELECT 後面可以跟上列名、列別名、萬用字元;
2.FROM 子句後面跟上要尋找的表名;
3.DISTINCT 尋找不重複的記錄
4.SELECT語句可以寫成一行或多行,不區分大小寫;
5.萬用字元*顯示表中所有的列
select * from department;
6.查詢指定列時,SELECT語句中列與列之間用逗號分割
select d_id,d_name from department;
7.查詢出來的數值或日期可以進行加減乘除運算,如果某一項為NULL,那麼運算結果也為NULL
select salary*12 from department;
可以使用括弧改變優先權,如:
select salary*12+100 from department;和select 12*(salary+100)from department;
8.採用NVL函數將NULL轉換成某個值,如NVL(列名,‘字串’)或NVL(列名,數值)
9.列別名是可選的,一個列別名包含了空格、特殊字元、或者要區分大小寫,那就要給它加上雙引號
select last_name "Employees" from department;
四.排序和條件查詢
ORDER BY 子句:
1.order by 子句在整個SQL語句最後;
2.ORDER BY 後面可以是列名、列別名、運算式、列出現在SELECT關鍵詞後的序號。
select name,salary from department order by salary;等同於:select name,salary from department order by 2;
3.ORDER BY後面可以跟多列,先按第一列排序,如果第一列相同再以第二列排序,一次類推。。。
4.ASC表示升序,是預設的,可以省略,DESC是降序排列;
5.NULL永遠是最大的。
WHERE 子句:
1.緊跟在from子句之後,對返回資料進行篩選
2.條件由一個或多個運算式、比較符或字面值組成
3.所有字串和日期都要用單引號包起來,數字不需要
4.日期在oracle資料庫有特定形式,‘DD-MON-YY’(具體看日期顯示格式),否則視作字串
5.WHERE子句的運算子:=等於、 >大於、 >=大於等於、 <小於、 <=小於等於、 !=不等於、 <>不等於、 BETWEEN...AND...包括起止值、 IN(list)限定內容、 LIKE模糊查詢、 IS NULL為空白(不能使用=null)、 NOT BETWEEN不在...之間、 NOT IN不再集合裡、 NOT LIKE不包含、 IS NOT NULL不為空白、 NOT、 AND、 OR;
今天寫累了,先寫到這裡,下次更新的時候,添加上ORACLE的函數。。。明天開始五一房間了,祝各位玩的開心。。。。。
oracle資料庫自學筆記(持續更新中……)