Oracle基礎 二) 表管理

2021-06-02 06:05:37 字數 2312 閱讀 8949

1.--datatype分為user-defined和built-in

##built-in分為scalar,collection,relationship

##scalar(標量):文字,數字,時間,二進位制

##char(n),nchar(n),varchar2(n),nvarchar2(n),

##number(p,s),

##date,timestamp,

##raw(n),blob,clob,nlob,bfile,long,long raw,rowid,urowid

2.--表的通用資訊

##乙個表最多有1000列,如果超過254列則oracle會將列拆分為儲存在block中

3.--rowid format

##10個位元組採用base64編碼以18個字元來顯示

##data object number:可以定位該記錄位於哪個tablespace

##relative file number:可以定位該記錄位於哪個file

##block number:定位該記錄位於哪個block

##row number:

4.--row記錄包含有row header,column length,column content

5.--assm,mssm

assm:pctused,initrans

mssm:freelist,pctused,pctused,initrans

6.--create table主要考慮storage字句和pctused,initrans等塊利用的引數

7.--建立臨時表(transaction和session生命週期)

create global temporary table

employee_temp

as select * from employees;

##可以靜態宣告臨時表,但在每個session中必須放入資料

##建立transaction生命週期

create global temporary table tmp on commit delete rows

##建立session生命週期

create global temporary table tmp on commit preserve rows

8.--臨時表一旦建立即在資料庫資料表中進行記錄可以一直使用只到drop掉

9.--row migration & chaining(行遷移和鏈結)

##row migration是因為pctfree太小,當某行值需要更新卻在塊中找不著合適的空間,就只能用其他塊的空間

##row chaining是因為列太大,乙個block放不下

10.--修改storage引數

alter table employees

pctfree 30

pctused 50

storage(next 500k,minextents 2,maxextents);

11.--手動的給表分配extent

alter table employees allocate extent(size 500k datafile '/disk3/data01.dbf');

##用在均勻分配資料在不同的檔案上

##對於大規模插資料一次性分配好extent

12.--非分割槽表(或分割槽表的乙個分割槽)的reorganized

alter table employees move tablespace data1

13.--獲取表的完整資訊

select dbms_metadata.get_ddl('table','t')from dual;

14.--刪除表的某列

alter table employees drop column comments

cascade constraints checkpoint 1000

##沒刪除1000行的某列寫發生一次checkpoint

15.--給列打上used標籤(可以是列暫時對使用者不可見,在伺服器壓力小時再進行刪除0

alter table employees

set unused column comments

cascade constraints

alter table employees

drop unused columns checkpoint 1000;

##一次性刪除used columns

alter table employee

drop unused columns continue checkpoint 1000

##刪除過程中資料庫重新啟動了還可以繼續刪除

oracle基礎 二 表管理語句

1.表名和列的命名規則 必須以字母開頭 長度不能超過30字元 不能使用orcale的保留字 只能使用如下字元 a z a z,0 9,等 2.字元型 char 定長 最大2000字元 例子 char 10 小韓 前四個字元放 小韓 後添6個空格補全 varchar2 20 變長 最大4000字元 例...

Oracle(二)(表的管理 使用者管理)

1.字元型別 char 5 abc 固定長度 如果儲存的資料長度不夠,會用空格填充來達到 的字元型別,最大長度2000 varchar2 10 abc 長度可變字元型別,最大長度4000 clob 大字符集,最大值4g 2.數字型別 number 有效位數,小數字數 number 7,2 整數最大長...

Oracle基礎 管理表與操作表資料

約定 char n nchar n 不可變長度型別 nchar是按照unicode格式存放資料 char的n最大值為2000 nchar的n最大值為1000 varchar2 n nvarchar2 n 可變長度型別 varchar2的n最大值為4000 nvarchar2的n最大值為2000 nu...