資料庫 Oracle資料庫物件一

2021-09-07 08:36:02 字數 2969 閱讀 3990

常見的資料庫物件

表:基本的資料儲存集合,由行和列組成

序列:提供有規律的數值

索引:提高查詢的效率

同義詞:給物件起別名

create table語句

--create table許可權

--儲存空間

資料型別

varchar2(size) 可變長字元資料(預設4kb)

char

(size) 定長字元資料

number(p,s) 可變長數值資料

date 日期型資料

long

可變長字元資料,最大可達到2g

clob 字元資料,最大可達到4g

raw and

long

raw 原始的二進位制資料

blob 二進位制資料,最大可達到4g

bfile 儲存外部檔案的二進位制資料,最大可達到4g

rowid 行位址(索引中儲存的就是行位址)

--建立乙個表

create table t2 (

tid number,

tname varchar2(

20),

hiredate date

default sysdate--設定該字段的預設值

)

alter table 語句追加,修改,或者刪除語法

--追加

sql>alter table t2 add (sid2 number,sid3 number);

--修改

sql> alter table t2 modify (tname varchar2(30),sid2 long

);--刪除列

sql> alter table t2 drop column sid2;

刪除表

1.資料和結構都被刪除

2.所有正在執行的相關事務都被提交

3.所有相關索引都被刪除

4.drop table 語句不能回滾,但是可以閃回

語法結構:drop table 表名

普通使用者下,表被刪除會進入**站(管理員沒有**站)

--清空**站

purge recyclebin;

--徹底刪除一張表

drop table test1 purge;

約束

--約束是表一級的限制

--如果存在依賴關係,約束可以防止錯誤的刪除資料

--約束型別

not null 非空

unique 唯一性

primary key 主鍵

foreign key 外來鍵

check 檢查

create table student

( sid number constraint student_sid_pk primary key,--主鍵約束

sname varchar2(

40),

email varchar2(

40) not null,--這是由oracle系統建立約束名

*** number constraint student_***_notnull not

null,--這是自定義約束名,constraint是關鍵字

age number constraint student_age_notnull not

null

constraint student_age_unique unique,

--乙個字段定義多個約束

numx number constraint student_age_check check(numx

<20)--檢查約束

deptno number constraint student_deptno_fk references dept(deptno)--外來鍵約束

--references是關鍵字,表示student表的deptno欄位需要參考dept表的deptno欄位

)

有關check約束

--可以使用in關鍵字

create table student

( *** varchar2(

10) constraint student_***_check check(*** in ('

男','女'

)))

有關primary key約束

--主鍵約束 通過這一列 唯一確定一行值

--若定義主鍵約束 隱含 非空且唯一約束

有關foreign key外來鍵約束

--定義兩張表,乙個表的列值引用另乙個表的列值 員工表 部門表

子表的外來鍵關聯的是父表的主鍵

--父表中資料被子表引用,則父表相應記錄刪不掉

若想刪除 級聯刪除 級聯置空

--子表中插入資料,外來鍵必須在父表中存在,否則插入出錯

外來鍵約束(續)

foregin key:在子表中定義了乙個表級的約束

references:指定表和父表中的列

on delete cascade:當刪除父表時,級聯刪除子表記錄(一般情況下不使用,因為會破壞子表資料)

on delete

setnull

:將子表相關的依賴記錄的外鍵值置為空值(一般情況下不使用,因為會破壞子表資料)

ed:create table student

(sid number,

deptno number constraint student_deptno_fk references dept(deptno) on delete

setnull

)

oracle資料庫物件(一)

oracle資料庫物件 1.同義詞 就是給資料庫物件乙個別名 管理員使用者可以訪問任何使用者的資料庫物件,system使用者訪問 scott使用者的empt表時,必須使用scott.emp select ename job,sal from scott.emp where sal 2000 在管理員...

Oracle資料庫物件

本文研究有關oracle資料庫物件的用法。oracle中包含五種資料庫物件,分別為別名 序列 檢視 索引和簇,其中別名和序列為oracle中特有的資料庫物件。別名 通過對oracle中資料表設定別名之後,可以使用別名對資料表進行與原表名同樣的各種操作。其語句關鍵字為synonym 下面看其具體用法。...

oracle資料庫物件

alter table 檢視 站 show recyclebin 清空 站 purge recyclebin 徹底刪除表 drop table emp purge 2.檢視 優點 1.檢視是一張虛表 2.檢視建立在已有表的基礎上,檢視賴以建立的這些表稱為基表。3.向檢視提供資料內容的語句為 sele...