1. 程式人生 > >Oracle 之建立和管理表

Oracle 之建立和管理表

Oracle 之建立和管理表

常見的資料庫物件:

物件

描述

基本的資料儲存集合,由行和列組成
檢視 重表中抽出的邏輯上相關的資料集合
序列 提供有規律的資料
索引 提高查詢的效率
同義詞 給物件起別名

表名和列名的定義規則:

必須以字母開頭

必須在1-30個字元之間

必須只能包含A-Z ,a-z, 0-9, _ ,$ ,#

必須不能和使用者頂一頂額其他物件重名

必須不不能是oracle的保留字;

建立表的許可權:

--create table 許可權

--儲存空間

基本語法:

create table xxx(name varchar(10),age number(2));

常用的資料型別:

資料型別 描述
varchar2(size) 可變長字元資料
char(size) 定長的字元資料
number(p,s) 資料型別,p表示數字的位數,s表示小數點後的位數
date 日期型別
long 可變長字元資料,最大可達2g
clob 字元資料,最大可達4g
raw(long raw) 原始的二進位制資料
blob 二進位制資料,最大可達4g
bfile 儲存外部檔案的二進位制資料,最大可達4g
rowid 行地址

 

子查詢建立表

使用as subquery 選項,將建立表和插入資料結合起來;

這種方式可以從已知的表中進行獲取資料,然後建立新的表;

例如:表的複製

create table emp1 as select * from employees;

create table emp2 as select * from employees where 1=2;        條件是假的,所以建立的emp2 是空表;

 

ALTER TABLE 語句

--追加新的列

新列在表的最後一個;

alter table tableName add (job_id varchar(10));

 

--修改現有的列

可以修改列的資料型別,尺寸,預設值

對預設值的修改隻影響今後對錶的修改;

alter table tableName modify (last_name varchar(20));

 

--為新追加的列定義預設值

alter table tableName modify(salary number(9,2) default 1000);

 

--刪除一個列

使用drop column 子句刪除不在需要的列

alter table tableName drop column job_id;

 

--重命名錶的一個列名;

使用RENAME COLUMN ...to 子句重新命名一個列

alter table tableName rename column job_id to id;

 

刪除表

資料和結構都會被刪除;

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

素有相關索引被刪除

drop table 語句不能回滾

drop table tableName;

 

清空表

--truncate table 語句

刪除表中的所有的資料,釋放表的儲存空間;

truncate table tableName;

--不能回滾;

可以使用delete語句刪除資料,可以回滾;

 

改變物件的名稱

執行rename語句改變表,檢視,序列,同義詞的名稱

rename dept to hhah_dept;

必須是物件的擁有者;