表(table)
表空間是對儲存系統檔案、使用者資訊等資料的乙個空間。
oracle表空間屬於oracle中的儲存結構,是由資料檔案組成,乙個資料庫例項可以有n個表空間,每個資料庫至少有乙個表空間(system表空間),乙個表空間下可以有n張表。
可以通過表空間來實現對oracle的調優(oracle資料庫獨特的高階應用)。
資料庫安裝成功後會自動建立多個表空間。
system:系統表空間
用於存放oracle系統內部表資料字典的資料,例如:表名、列名、使用者名稱等。sysaux :輔助表空間oracle不贊成將使用者建立的表、索引、等存放在系統表空間。
系統表空間中的資料檔案個數是非固定的,看與根據需求追加新的資料檔案。
oracle 11g 新增的表空間,充當system的輔助表空間,users:使用者表空間
oracle建議使用者使用的表空間,可以在這個表空間上建立各種資料物件,如:建立表、索引、使用者等資料物件。如:scott 使用者。temp:臨時表空間
存放臨時表和臨時資料,用於排序和彙總等。undo:撤銷表空間
存放撤銷的資訊,也叫回滾表空間。當使用者對資料進行修改操作時(插入、更新、刪除等dml資料操作),oracle會自動使用撤銷表空間來存放修改前的舊資料,直到完成執行提交命令後,會根據保留時間長度來決定合適釋放掉撤銷表空間的部分空間。永久表空間:
儲存資料庫中需要永久化儲存的物件,比如二維表、檢視、儲存過程、索引。臨時表空間:
儲存資料庫的中間執行過程,如:儲存order by資料庫排序、分組時產生的臨時資料。undo表空間:
儲存資料修改前的戴護具,為了對資料執行回滾、恢復、撤銷的操作。
dba_tablespaces
//系統的表空間資訊
user_tablespace
//使用者的表空間資訊
dba_data_files
//資料庫檔案的資訊
select *
from
dba_tablespaces
;
select file_name from
dba_data_files
;查詢臨時表空間路徑
select file_name from
dba_temp_files
;
可以通過oem(資料庫企業管理工具)建立
最常用的是pl/sql命令方式建立
建立永久表空間
create tablespace 表空間名 datafile '路徑 + 表空間名.dbf'
/'表空間名.dbf' size 大小;
建立臨時表空間
create temporary tablespaces 表空間名 tempfile'路徑 + 表空間名.dbf'
/'表空間名.dbf' size 大小;
建立永久 / 臨時表空間 並設定自動增長
create tablespace /
temporary tablespaces 表空間名 datafile'路徑 + 表空間名.dbf'
/'表空間名.dbf' size 大小 autoextend on next 最低 maxsize 最高;
修改表空間為 聯機狀態 / 離線狀態
alter tablespace 表空間名 online
/offonline
;修改表空間為 唯讀狀態 / 讀寫狀態
alter tablespace 表空間名 read
only
/read
write
;
刪除空資料的表空間,不包含物理檔案
drop tablespace 表空間名;
刪除空資料的表空間,包含物理檔案
drop tablespace 表空間名 including
datafiles
;刪除非空表空間,不包含物理檔案
drop tablespace 表空間名 including
contents
;刪除非空表空間,包含物理檔案
drop tablespace 表空間名 including
contents
anddatafiles
;有外來鍵等約束關聯到了本表空間中的表的字段,加上cascade
constraints
drop tablespace tablespace_name including contents and datafiles cascade
constraints
;
表是存放使用者資料的物件,是資料庫儲存的基本單元。
oracle關聯式資料庫的表是乙個二維結構,由行(row)列(column)組成.
表是最常見的一種組織資料的方式,一張表一般具有多個列(字段),每個字段具有特定的屬性:欄位名、資料型別、約束條件等。
建立表create table
表名注意格式:
表名必須字母開頭表名1–30 個字元之間
表名能包含 a–z, a–z, 0–9, _, $, 和 #
表名唯一。
create
table 表名
;
修改表alter table
新增列
alter table 表名 add 列名 資料型別;
修改列alter table 表名 modify 列名 新的資料型別;
刪除列alter table 表名 drop
column 列名;
修改列名
alter table 表名 rename
column 列名 to 新列名;
修改表名
rename 表名 to 新錶名;
刪除表drop table
刪除資料表操作在oracle 10g之前那麼以上的操作就徹底刪除了,但是從 orale 10g開始可以給挽救了一次閃回機制.
刪除表內的資料
truncate table 表名;
暫時刪除,收進**站
drop table 表名;
從**站恢復表
flashback table 表名 to before drop;
徹底刪除表
drop table 表名 purge
;檢視**站
select *
from
recyclebin
;清空**站
purge
recyclebin
;
當你不再需要該錶時, 用 drop;資料型別當你仍要保留該錶,但要刪除所有記錄時, 用 truncate;
當你要刪除部分記錄時, 用 delete.
儲存位元組
說明char
1~2000
描述定長的字元型資料
varchar2
1~4000
描述可變的字元型資料
資料型別
儲存位元組
說明number(m,n)
p:精度(總長度),s:小數字數
描述固定長度的小數或整數float
資料型別
說明date
儲存日期和時間(精確到秒)
timestamp
顯示的日期比date精確(精確到毫秒)
資料型別
儲存位元組
說明clob
1~4gb
儲存較大資料,存放海量文字(如:**)。
blob
1~4gb
儲存較大資料,電影、**等二進位制檔案。
資料庫除了存放資料以外,也要保證資料的正確性,所以在建立表時需要定義一些約束。列級約束約束看與限制列的取值範圍,強制列的取值來自合理的範圍。
有且只有 非空約束 才是列級約束。表級約束
除 非空約束 其他全是表級約束。主鍵約束(primary key)
外來鍵約束(foreign key)
唯一約束(unique)
非空約束(not null)
檢查約束(check)
預設約束(deufault)
新增約束
alter table 表名 add
constraint 約束名 約束名稱 (列名);
新增外來鍵約束
alter table 表名 add
constraint foreign key
(列名)
references 關聯表名(關聯表的列名);
新增非空約束
alter table 表名 modify (列名 資料型別 not
null);
不啟用/啟用/刪除 約束
alter table 表名 disable/enable/drop constraint 約束名;
Oracle 表空間和臨時表空間
表空間 此空間是用來進行資料儲存的 表 function 儲存過程等 所以是實際物理儲存區域。臨時表空間 主要用途是在資料庫進行排序運算 如建立索引 order by及group by distinct union intersect minus sort merge及join analyze命令 ...
oracle建立表空間和表
oracle安裝完後,其中有乙個預設的資料庫,除了這個預設的資料庫外,我們還可以建立自己的資料庫。對於初學者來說,為了避免麻煩,可以用 database configuration assistant 嚮導來建立資料庫。建立完資料庫後,並不能立即在資料庫中建表,必須先建立該資料庫的使用者,並且為該使...
Oracle建立表空間 表分割槽
建立表分割槽 create tablespace ts demo datafile oracle2 oracle datafile xltsdemo.dbf size 500m 初始大小 autoextend on 可以自動擴充套件 next 50m 一次擴充套件50m maxsize unlimi...