Oracle資料庫入門

2021-10-21 00:07:11 字數 4177 閱讀 5134

oracle database,又名oracle rdbms,或簡稱oracle。

是甲骨文公司的一款關聯式資料庫管理系統。它是在資料庫領域一直處於領先地位的產品。

可以說oracle資料庫系統是目前世界上流行的關聯式資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小微機環境。

它是一種高效率的、可靠性好的、適應高吞吐量的資料庫方案。

二、oracle的許可權管理

三、oracle的角色管理

四、資料庫的備份和恢復

五、資料庫物件管理

六、資料庫約束管理

七、資料庫序列管理

八、資料庫索引管理

九、資料庫檢視管理

十、資料庫同義詞

總結管理資料庫的使用者、許可權、角色時需要有管理員許可權,本章示例全部使用sys(超級管理員)登入。

sqlplus sys as sysdba

schema(方案):

資料庫物件的集合

oracle的主要資料庫物件有:表、索引、檢視、同義詞、儲存過程、函式、觸發器等。

使用者sys要訪問scott方案的emp表,應該使用以下語句:• select * from scott.emp

概述:

許可權(privilege):使用者執行某項操作的權力。

乙個使用者要在資料庫中執行某項操作,必須為該使用者授予執行這些操作所需的許可權。

新建立的使用者沒有任何許可權,就連連伺服器的許可權都沒有。

oracle資料庫中的許可權分為:

每個使用者都可以通過user_sys_privs表檢視所具有的系統許可權。

每個使用者都可以通過user_tab_privs_made表檢視自己向其他使用者開放了哪些物件許可權。

角色(role):一組許可權的集合。可分配給使用者或其它角色。

oracle11g內建的常用角色:

使用者可以通過user_role_privs表查詢自己所擁有的角色。

該命令不能在sqlplus中執行

exp命令工具用於匯出資料,三種使用模式

完全:exp system/orcl buffer=64000 file=c:\full.dmp full=y

如果要執行完全匯出,必須具有特殊的許可權

使用者模式:

(常用)exp scott/tiger buffer=64000 file=c:\scott.dmp owner=scott使用者scott的所有物件被輸出到檔案中。

表模式:

exp scott/tiger buffer=64000 file=c:\scott.dmp tables=(scott.dept,scott.emp)

使用者scott的表emp就被匯出

gmp命令工具用於匯入資料,三種使用模式

完全:imp system/orcl buffer=64000 file=c:\full.dmp full=y

使用者模式:(常用)

imp scott/tiger buffer=64000 file=c:\scott.dmp fromuser=scott touser=scott

使用者scott的所有物件被匯入到檔案中。必須指定fromuser、touser引數,這樣才能匯入資料。

表模式:

imp scott/tiger buffer=64000 file=c:\scott.dmp fromuser=scott touser=scotttables=(emp)

使用者scott的emp表被匯入。

建立語句:

createtable [方案名.]表名(列名列型別 [default 預設值] [列級約束型別], … [constaint 表級約束] );

示例:

建立一學生表(student),字段如下:

sid 整數型別編號

name 字串姓名

birthday 日期時間型別生日

score 浮點數,2位小數成績

修改表結構:

示例:修改表結構

刪除表:把表中所有的行和表結構都刪除。

約束:對錶的列(字段)設定的內容限制。

分類:表級約束,列級約束

建立表級約束

createtable [方案名.

]表名(列名列型別 [

default 預設值]

[列級約束型別],.

..[constaint 表級約束型別]

);

使用單獨的sql語句新增約束

altertable表名  add [constraint 約束名]  約束型別(要約束的列名)

;altertable表名 add [constraint 約束名] foreign key (要新增外來鍵約束的列名) references 主表名(主表的列名)

;

約束名的建議:約束型別_表名_欄位名、fk_主表_從表_列名

刪除約束

altertable表名drop constraint 約束名;
示例:

插入資料,測試各約束的使用。

序列(sequence)是一種用於生成唯一數字的資料庫物件,序列生成器會自動生成順序遞增的序列號。

create sequence 序列名    

[increment by遞增量值]

[start with 開始值]

[maxvalue 最大值]

[minvalue 最小值]

[cycle | nocycle]

-- 達到最大值或最小值時是否迴圈

[cache 預生成數量 | noche]

;-- 預設快取20個

通過序列的偽列來引用序列值

currval:返回當前序列值。

僅用於檢視在檢視序列的當前值,必須先通過檢索序列的下乙個值對序列進行初始化

示例:

獲取有關序列的資訊:

drop sequence 序列名;

另外oracle也提供了獲取uuid值的函式:

select sys_guid() from dual;

索引是資料庫中提高查詢效能的最常用手段。

任何單個查詢要檢索的行少於或等於整個錶行數的10%時,索引就是非常有用

oracle資料庫會為定義了primary key和unique約束的列自動建立乙個對應的「b-樹」唯一索引。

在查詢語句中針對主鍵的查詢效率更高

檢視(view):乙個或多個基表上的預定義查詢。

使用檢視優點:

檢視可以間接對錶進行更新,檢視中資料的更新就是表資料的更新

建立檢視

create [or replace] view 檢視名

as查詢語句 [with check option] [with read only];

選項:

獲取檢視定義的相關資訊

刪除

drop view 檢視名;

示例:

同義詞:資料庫物件的乙個別名,用來簡化對資料庫物件的訪問。

建立同義詞語法

create synonym 同義詞名 for 方案名.物件名;

刪除同義詞

drop synonym 同義詞名;

示例:

這樣就是可以直接使用 select * from c; 了

Oracle資料庫入門 二

oracle sql plus常用命令 一 sys使用者和system使用者 oracle安裝會自動的生成sys使用者和system使用者。1 sys使用者時超級使用者,具有最高許可權,具有sysdba角色,有create database的許可權,該使用者預設的密碼是change on insta...

Oracle資料庫入門 一

資料庫分類 一 資料庫分類 1 小型資料庫 access foxbase 2 中型資料庫 informix sql server mysql 3 大型資料庫 sybase db2 oracle。二 專案中如何合理地使用資料庫,可以依據如下三個方面入手 1 負載量有多大,即使用者數有多大 2 成本 3...

ORACLE資料庫操作基礎入門

oracle資料庫操作入門 1 資料庫工作環境基礎設定 在linux下用oracle使用者登陸作業系統,然後用sqlplus 以資料庫的超戶 登陸 資料庫 oracle home bin sqlplus as sysdba 建立表空間 sql create tablespace its datafi...