對錶列的基礎操作
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 對陣列的操作陣列
- MySQL對錶和庫的一些基本操作MySql
- PHP操作Beanstalkd佇列(1)安裝與基礎PHPBean佇列
- 左神基礎班02、陣列中的逆序對陣列
- Go 語言基礎 陣列、切片、對映Go陣列
- Java核心基礎第4篇-Java陣列的常規操作Java陣列
- python基礎操作Python
- MongoDB基礎操作MongoDB
- elasticsearch 基礎操作Elasticsearch
- linux基礎操作Linux
- Redis基礎操作Redis
- 命令列基礎命令列
- 『動善時』JMeter基礎 — 44、JMeter對資料庫的更新操作JMeter資料庫
- 『心善淵』Selenium3.0基礎 — 16、Selenium對iframe表單的操作
- 常用基礎Linux操作命令總結與hadoop基礎操作命令LinuxHadoop
- 『現學現忘』Git基礎 — 13、Git的基礎操作Git
- kali操作命令基礎
- java基礎操作2Java
- 二、MySQL基礎操作MySql
- DRF基礎操作流程
- Mongodb-基礎操作MongoDB
- [Python基礎]字串操作Python字串
- 【Docker】Docker基礎操作Docker
- openCV入門 核心操作 1 影像的基礎操作OpenCV
- Windows命令列基礎Windows命令列
- 陣列基礎使用陣列
- 【java基礎】列舉Java
- Java基礎--列舉Java
- mysql 索引的基礎操作彙總MySql索引
- jQuery的基礎操作——選擇器jQuery
- git的工作管理和基礎操作Git
- Python中基礎的時間操作Python
- 『動善時』JMeter基礎 — 43、JMeter對資料庫的查詢操作JMeter資料庫
- RN API基礎操作篇API
- Python基礎——檔案操作Python
- python基礎(三)——操作列表Python
- Docker | 入門 & 基礎操作Docker
- AWR報告基礎操作
- JavaScript基礎之BOM操作JavaScript