oracle 列操作

来源:互联网 发布:上海java应届生招聘 编辑:程序博客网 时间:2024/06/04 20:56

数据库中存储数据的方式:   
规则表---〉分区表   
索引组织表   
簇修改列名alter table 表明 rename column rename 老列名 to 新列名   
添加 字段   
alter table 表名 add(字段名 类型);   
删除字段   
alter table 表名 drop column 字段名修改列属性   
alter table 表名 modify (字段名 新属性)   
设置某一个字段为无用状态   
alter table 表名 set unuesed column 字段名   
删除无用字段   
alert table 表名 drop unused cloumns添加主键   
alert table 表名 add constraint pkKey primary key(字段列表)表分区   
oracle 允许用户对标进一步的规划,即对标进一步的拆分,将表分成若干个逻辑部分,   
每个部分成其为标的分区   
表分区的优点   
增强可用性。单个分区出现故障不会影响到其它分区   
均衡IO。不同的分区可以影射到不同的磁盘中   
改善性能范围分区法   
这种分区方法是根据表中的列值的范围对标进行分区   
分区时, 首先依据列中得值的可能的范围进行划分例:   
create table student   
(   
studentId integer not null,   
studentName varchar2(20),   
scroe integer   
)   
partition by rang(Score)   
(   
partition p1 values lessthan(60),   
partition p2 values lessthan(70),   
partition p3 values lessthan(80),   
partition p4 values lessthan(maxvalue),   
) ;   
散列分区   
散列分区法提供了一种通过制定分区编号来均匀地分布数据的方法   
他通过hash 函数间数据映射到相应的分区上   
它使得数据均匀的分配到各分区上,各分区大小趋向一致例:   
create table department   
(   
depno integer not null,   
depname varchar2(20),   
)   
partition by hash(depno)   
(   
partition p1 ,   
partition p2,) ;复合分区   
复合分区是先对数据进行范围分区,然后在每个字分区理由进行散列分区的一种分区方法   
例:   
create table salgrade   
(grade number ,losal number hisal number , hisal number )   
partition by rang(grade)   
subpartition by hash (losal, hisal)(   
partition p1 value lessthan (10),   
(subpartition sp1,subpartition sp2),   
partition p1 value lessthan (20),   
(subpartition sp3,subpartition sp4),   
)   
列表分区   
列表分区允许用户明确的控制行到分区的映射   
不同的范围分区或列分区,他运许按自然的方式对无序和不相干的数据集进行分组的组织   
例如:   
partition by list(字段)(   
partition 列名称 values (值列表),   
partition 列名称 values (值列表),   
。。。   
。。。   
partition 列名称 values (值列表)   
)   
指定的分区中查询   
select * from tableName partition(p1)   
表分区的维护   
移动,添加,删除,结合, 截断,拆分,合并,交换[/size]