CREATE: 用于创建数据库对象。
DECLARE: 除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似。唯一可以被声明的对象是表。并且必须放入用户临时表空间。
DROP: 可以删除任何用CREATE(数据库对象)和DECLARE(表)创建的对象。
ALTER: 允许修改某些数据库对象的信息。不能修改索引。
创建数据库:
CREATE DB dbname
删除数据库:
DROP DB dbname
创建新表:
CREATE TABLE tabname(
col1 type1 [not null] [primary key],
col2 type2 [not null],..)
根据已有的表创建新表:
l CREATE TABLE tab_new LIKE tab_old
l CREATE TABLE tab_new AS select col1,col2… FROM tab_old DEFINITION ONLY
表的类型
永久表(基表)
临时表(说明表)
临时表(派生表)
修改表:
l 增加一个列:
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
l 添加主键:
Alter table tabname add primary key(col)
l 删除主键:
Alter table tabname drop primary key(col)
重命名表
RENAME 旧表名 TO 新表名
删除表:
DROP TABLE tabname
快速清除一个大表
ALTER TABLE 表名ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
关闭表的日志
ALTER TABLE 表名 ACTIVATE NOT LOGGED INITIALLY
列出一个用户所有的表
SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'
要删除表中所有行而不删除表本身,可以用ALTER TABLE语句:
ALTER TABLE name ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
表空间用来存储表,抽象物理存储,由一个或多个容器组成,有4k,8k,16k,32k的页面大小。默认的表空间有:SYSCATSPACE(4K,存储系统目录和表),TEMPSPACE1(4K,临时表空间),USERSPACE1(4K,用户表空间)。
表空间的类型有:REGULAR(如USERSPACE1),SYSTEM TEMPORARY(如TEMPSPACE1),LARGE(如SPS_LARGE),USER TEMPORARY四种。
表空间按管理方式分为系统管理表空间(SMS:system manage space)和数据库管理表空间(DMS),SMS是由系统进行维护的,其容器是文件系统的目录,自己增长,大小的限制为文件目录的大小,容器的个数在创建的时候决定,不能修改,不能划分为INDEX和LOB表空间。DMS是数据库维护的,其容器是file或raw devices ,其容器们可以增加,修改,或改变大小,DMS可以把INDEX,TABLE和LOB数据放到几个表空间中。
创建表空间:
create tablespace tbsname pagesize 4k managed by database using (file ‘file’ size)
表空间加入容器:
alter tablespace tablespace_name add(file 'filename' size)
注:该操作是不可逆的,加入容器后将不能将其删除,因此在加入的时候注意。
删除表空间:
drop tablespace tbsname
OLTP联机事务处理的时候一般用smaller page size
OLAP联机分析处理或DSS数据仓库系统的时候一般用larger page size
DMS比SMS快10%到15%的速度
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9524210/viewspace-471541/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9524210/viewspace-471541/