瞭解Oracel中的表格中的操作
Goal:瞭解表格的建立和修改以及相關操作
寫在前面的話:
Oracle:表格是建立在使用者方案中,而非直接屬於資料庫!
Sqlserver:表格直接屬於資料庫!
- 一,表格的建立:
- 關鍵字:create
- create table 表名(
- 列名1 資料類型 其他屬性,
- 列名2 資料類型 其他屬性,
- ...
- 最後一列 資料類型 其他屬性
- );
-
- 注意:在oracle中,建立約束時與Sqlserver一樣,也是直接寫primary key,check(xxx),等等,但是唯一不同的是
- 外鍵約束有一點變化:
- eg: typeId int costraint (typeId) refereces TypeInfo(typeId);
- 而不是:
- eg: typeId int foreign key (typeId) refereces TypeInfo(typeId);--(有些說是這樣寫的,但是我沒有寫成功過!)
-
- 二,表格的修改
- a)添加一列:
- alter table 表名 add 欄位名 資料類型 屬性;
- b)修改列:
- alter table 表名 modify 列名 資料類型 屬性;
- c)刪除列:
- alter table 表名 drop column 列名;
- d)修改表名:
- alter table 就表明 rename to 新表名;
-
- 三,通過已有表格建立新的表格(同時將已有資料錄入新表格)
- create table 新表名 as select 列名1,列名2,.... from 舊錶名;
-
- 四,資料表空間的相關操作:
- a)建立資料表空間:
- create tablespace 資料表空間名 datafile='資料表空間路徑(檔案名稱常以dbf結尾)' size XXM;
- 注:size後的數位單位不是MB,而是M,eg: size 50m;
-
- b)暫存資料表空間的建立:
- create temporary tablespace 暫存資料表空間名 tempFile='路徑(檔案名稱同上)' size xxM;
-
- c)給使用者指定資料表空間
- alter user 使用者名稱 default tablespace 資料表空間名;
-
- d)給表格指定資料表空間(需要在建立的時候進行指定):
- create table XXX(
- XXX XX XXX
- ) tablespace 資料表空間名;
-
- e)刪除資料表空間:
- 1)只進行邏輯刪除,也就是說刪除結構,但是物理檔案還存在:
- drop tablespace 名稱 incuding contents;
- 2)全部刪除:
- drop table 名稱 including contents and datafile;
-
- f)修改資料表空間大小:
- alter database datafile='新添加的資料檔案的路徑(及檔案名稱)' resize XXM;