對錶列的基礎操作
1. 增加列
1-1. 增加列
alter table t add col1 int;
alter table t add (col1 int, col2 varchar2(10));
1-2. 增加列時設定約束
# 此處增加的預設值會修改已存在資料行中的此列的值
alter table t add (col1 int, col2 varchar2(10) default 'dummy' not null);
2. 修改列
2-1. 修改列
alter table t modify col1 varchar2(10);
alter table t modify (col1 varchar2(10), col2 int);
2-2. 修改列時設定約束
alter table t modify (col1 varchar2(10), col2 int default 1);
2-3. 修改列時刪除預設值約束
# 此處修改的預設值不會修改已存在資料行中的此列的值
alter table t modify col1 varchar2(10) default null);
2-4. 修改列名
alter table t rename column col1 to col2;
3. 刪除列
3-1. 刪除列
# 不能刪除 sys 使用者表的列, 大表需要較長時間
alter table t drop col1;
alter table t drop (col1,col2);
# 選項???
cascade constraint invalidate
4. 無效化/隱藏列
# 速度快, 立即返回, 無法恢復
alter table t set unused column col1 cascade constraints;
select owner,table_name,column_name,hidden_column from dba_tab_cols where table_name = 'T';
# 大表需要較長時間
alter table scott.t drop unused columns;
1-1. 增加列
alter table t add col1 int;
alter table t add (col1 int, col2 varchar2(10));
1-2. 增加列時設定約束
# 此處增加的預設值會修改已存在資料行中的此列的值
alter table t add (col1 int, col2 varchar2(10) default 'dummy' not null);
2. 修改列
2-1. 修改列
alter table t modify col1 varchar2(10);
alter table t modify (col1 varchar2(10), col2 int);
2-2. 修改列時設定約束
alter table t modify (col1 varchar2(10), col2 int default 1);
2-3. 修改列時刪除預設值約束
# 此處修改的預設值不會修改已存在資料行中的此列的值
alter table t modify col1 varchar2(10) default null);
2-4. 修改列名
alter table t rename column col1 to col2;
3. 刪除列
3-1. 刪除列
# 不能刪除 sys 使用者表的列, 大表需要較長時間
alter table t drop col1;
alter table t drop (col1,col2);
# 選項???
cascade constraint invalidate
4. 無效化/隱藏列
# 速度快, 立即返回, 無法恢復
alter table t set unused column col1 cascade constraints;
select owner,table_name,column_name,hidden_column from dba_tab_cols where table_name = 'T';
# 大表需要較長時間
alter table scott.t drop unused columns;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22558114/viewspace-1122576/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle SQL對錶的操作OracleSQL
- Oracle--02對錶的基本操作Oracle
- ABAP對字元的一些基礎操作字元
- 對陣列的操作陣列
- javascript對錶格的操作總結1JavaScript
- PHP操作Beanstalkd佇列(1)安裝與基礎PHPBean佇列
- Go 語言基礎 陣列、切片、對映Go陣列
- MySQL對錶和庫的一些基本操作MySql
- 得到對錶操作的指令碼(可作為參考)指令碼
- Java核心基礎第4篇-Java陣列的常規操作Java陣列
- JavaScript中對陣列的操作JavaScript陣列
- elasticsearch 基礎操作Elasticsearch
- Redis基礎操作Redis
- MongoDB基礎操作MongoDB
- 命令列基礎命令列
- 『動善時』JMeter基礎 — 44、JMeter對資料庫的更新操作JMeter資料庫
- 『現學現忘』Git基礎 — 13、Git的基礎操作Git
- DRF基礎操作流程
- linux基礎操作Linux
- Mongodb-基礎操作MongoDB
- JavaSE基礎:日期操作Java
- 【Docker】Docker基礎操作Docker
- 【PG】PG基礎操作
- Java基礎--列舉Java
- 【java基礎】列舉Java
- JavaSE基礎:陣列Java陣列
- [shell基礎]——陣列陣列
- 陣列基礎使用陣列
- openCV入門 核心操作 1 影像的基礎操作OpenCV
- 資料庫中大量對錶smon_scn_time的delete操作資料庫delete
- jQuery的基礎操作——選擇器jQuery
- mysql 索引的基礎操作彙總MySql索引
- git的工作管理和基礎操作Git
- 『動善時』JMeter基礎 — 43、JMeter對資料庫的查詢操作JMeter資料庫
- 常用基礎Linux操作命令總結與hadoop基礎操作命令LinuxHadoop
- 使用oracle decode對錶字元列進行order by 排序Oracle字元排序
- (JS基礎)操作表單JS
- Docker | 入門 & 基礎操作Docker