Oracle與Oracle的SQL操作語句

2021-08-18 02:15:36 字數 3009 閱讀 3221

oracle

也是一種資料庫管理系統

儲存結構分類:邏輯儲存結構,物理儲存結構

邏輯儲存結構:

資料塊:資料塊是oracle邏輯儲存結構的最小邏輯結構,乙個資料塊對應乙個或多個物理塊,

資料塊的結構包括塊頭和儲存區的兩個部分

塊頭包括:資料塊標題,表目錄,行目錄

儲存區:自由空間,行資料

資料區:資料區是由連續的資料塊結合而成的,資料區是oracle儲存分配的最小單位

段:

資料段:儲存表中所有的資料

索引段:儲存表上最佳查詢的所有索引資料

臨時段:儲存表排序操作期間建立的臨時表的資料

回滾段:儲存修改之前的位置和值

表空間:表空間是資料庫的最大邏輯劃分區域,乙個表空間由乙個或多個資料檔案組成,乙個資料檔案只屬於乙個表空間,表空間的大小是它所對應的資料檔案大小的總和

預設建立的表空間有:

系統表空間(system tablespace)輔助表空間(sysaux tablespace)

撤銷表空間(undo tablespace)  使用者表空間(users tablespace)

物理儲存結構:

物理儲存結構包含三種資料檔案:控制檔案,資料檔案,日誌檔案

邏輯儲存結構與物理儲存結構的互動方式有兩種:1.表空間與資料檔案2.塊與os塊

資料檔案:系統資料檔案(system01.dbf和sysaux01.dbf)回滾資料檔案(undotbs01.dbf)

使用者資料檔案(users01.dbf、tbsp_1.dbf)臨時資料檔案(temp02.dbf)

控制檔案:是資料庫中最小的檔案但也是非常的重要的檔案

日誌檔案:包括重做資料檔案(記錄所有的資料變化,提供恢復機制)和歸檔日誌檔案等等

我自己安裝的oracle 版本是oracle11g

oracle11g提供了    sqlplus    sqldeveloper    oracle企業管理器    資料庫配置助手(dbca)

目前先使用sql*plus工具:在oracle 11g資料庫系統中,使用者對資料庫的操作主要是通過sql *plus來完成的。sql *plus作為oracle的客戶端工具,既可以建立位於資料庫伺服器上的資料連線,也可以建立位於網路中的資料連線。

sql*plus工具的特點為:

可以用它執行sql查詢和pl/sql**塊並接受結果資訊;

可以發布dba命令並自動工作;

可以啟動和關閉資料庫;

一種建立資料庫管理報告的便利方法;

oracle的常用sql語句

列別名:列別名可以使檢索出來的表更加美觀易懂

例如:1.檢索emp表員工的編號、姓名和年基本工資、日基本工資資訊,並為查詢結果設定列別名 

select empno as "員工編號",ename as "員工名稱",sal*12 as "年基本工資",sal/30 as "日基本工資" from emp;  

2.檢索emp表的指定列(empno、ename、job),不使用任何關鍵字而直接為這些列指定中文的別名

select empno "員工編號",ename "員工名稱",job "職務"  from emp;

如果別名中包含了特殊字元,或想讓別名原樣顯示,就要使用雙引號把別名括起來

去重:使查詢結果中排出重複行可以使用關鍵字distinct

distinct的作用是消除重複內容,但是所謂的消除重複的內容,是指一條完整的資料全部是重複的,如果多行記錄只有一列重複而其他列不重複,那麼也是無法消除的。

例如:在scott模式下,顯示emp表中的job(職務)列,要求顯示的「職務」記錄不重複

select distinct job from emp;

也可以使用分組group by 來達到去重的目的

select job from emp group by job;

查詢

查詢單個表中的所有資料

select  *  from scott.emp;

查詢多個表中的所有資料(將表用逗號隔開就行了)

select * from scott.emp,dept;

查詢指定(/多個)資料

select job,sal,ename,empno from emp;

偽列:是一種資料型別,唯一標識一條記錄,物理位置的一條id,它之所以被稱為偽列就是因為他不是正式存在的,偽列可以從表中查詢,但是不可以插入,更新或者刪除。

偽列的用途:1.能以最快的方式訪問表中的一行

2.能顯示表的行是如何儲存的

3.作為表中的唯一標識

常用的偽列:rowid和rownum

rownum:對於乙個查詢返回的每一行,rownum偽列返回乙個數值代表的次序。返回第一行的rownum值為1,第二行的rownum值為2,以此類推。通過使用rownum偽列,使用者可以限制查詢返回的行數

例如:1.查詢emp表的rowid列---select rowid from emp;

2.從emp表中查詢前5條資料---select * from emp where rownum < 6;

模式匹配: like以及兩個萬用字元「%」表示0或多個字元,「_」表示乙個且只有乙個字元

例如:查詢表中名字中含有張的人名字

select * from biaoge where ename like "%張%";

空值:oracle中的空值(null)是不存在的值,而不是空字串,

EnterpriseDB與Oracle的相容性

使用 oracle 資料庫的企業一般都會對開源資料庫感興趣,主要有以下三方面的原因 首先,通過部署開源資料庫,這些企業可以顯著降低資料庫的總擁有成本 tco 有時降幅甚至可高達90 其次,它們通常可以從其他廠商 非oracle 處獲得更大的許可靈活性以及業務便利 最後,這些企業會發現其他一些廠商更渴...

ORACLE例項與ORACLE資料庫的區別

剛接觸oracle的人肯定會對例項和資料庫感到困惑,例項到底代表些什麼?為什麼會有這個概念的出現?oracle例項 程序 程序所使用的記憶體 sga 例項是乙個臨時性的東西,你也可以認為它代表了資料庫某一時刻的狀態!資料庫 重做檔案 控制檔案 資料檔案 臨時檔案 資料庫是永久的,是乙個檔案的集合。o...

Oracle的安裝與刪除

系統環境 1 作業系統 windows 2000 2 資料庫 oracle 8i r2 8.1.6 for nt 企業版 oracle 8i r2 8.1.6 for nt 企業版預設安裝完畢後會在所在碟符建立以下三個目錄 admin 記錄oracle例項的配置 執行日誌等檔案,每個例項乙個目錄 o...