【DB2数据库创建分区表】

创建表空间

CREATE TABLESPACE DMS01

CREATE TABLESPACE dms02

CREATE TABLESPACE dms03

创建表

CREATE TABLE artists

(

artno SMALLINT NOT NULL PRIMARY KEY,

name VARCHAR(50),

picture BLOB(2M) NOT LOGGED COMPACT

)

IN dms01

INDEX IN dms02

LONG  IN dms03

CREATE INDEX idx_name ON artists (name)

分区表的使用

定义区间

CREATE TABLE sales(sale_date DATE, customer INT) 

PARTITION BY RANGE(sale_date)

(    

STARTING '1/1/2000'  ENDING '3/31/2000',    

STARTING '4/1/2000'  ENDING '6/30/2000',

STARTING '7/1/2000'  ENDING '9/30/2000',    

STARTING '10/1/2000' ENDING '12/31/2004'   

);

使用 MINVALUE 和 MAXVALUE指定开放的区间

CREATE TABLE sales11(sale_date DATE, customer INT)

  PARTITION BY RANGE(sale_date)    

(

STARTING MINVALUE    ENDING '12/31/1999',    

STARTING '1/1/2000'  ENDING '3/31/2000',   

STARTING '4/1/2000'  ENDING '6/30/2000',    

STARTING '7/1/2000'  ENDING '9/30/2000',    

STARTING '10/1/2000' ENDING '12/31/2004' 

);

使用 EXCLUSIVE关键字指定是否包含,最后‘12/31/2004’不包含在范围中

CREATE TABLE sales(sale_date DATE, customer INT, …)

  PARTITION BY RANGE(sale_date)    

(

STARTING MINVALUE    ENDING '1/1/2000'  EXCLUSIVE,    

STARTING '1/1/2000'  ENDING '4/1/2000'  EXCLUSIVE,    

STARTING '4/1/2000'  ENDING '7/1/2000'  EXCLUSIVE,

STARTING '7/1/2000'  ENDING '10/1/2000' EXCLUSIVE,

STARTING '10/1/2000' ENDING '12/31/2004'   

); 

ALTER TABLE语句可以对存在的表执行以下操作 :

增加

向表中增加一列或多列

增加或删除

主键

唯一索引, 参考或检查给定义or check constraint definitions

删除表约束

分区KEY (DPF)

更改列

删除列

更改列类型

更改列NULL类型

更改VARCHAR的长度

更改表类型

更改Change table attribute

DATA CAPTURE, PCTFREE, LOCK SIZE 或APPEND MODE.

设置表属性NOT LOGGED INITIALLY

猜你喜欢

转载自gaojingsong.iteye.com/blog/2286584