db2数据库表的建立、修改、删除 索引、主外键的建立、修改、删除 视图的建立、修改、删除

本文详细介绍了如何在DB2数据库中进行表的创建、修改和删除操作,包括创建带有自增ID和主键的表,并在特定表空间中设置索引。此外,还展示了主外键的添加、删除及修改,以及视图的创建、修改和删除流程。

数据库表的建立、修改、删除

CREATE TABLE LYLF615."ot_test"
( "id" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( START WITH 1, INCREMENT BY 1, NO CYCLE, CACHE 20 ),
"name" VARCHAR(10)

PRIMARY KEY ("id")
)
IN "mytesttbs"
INDEX IN "mytesttbs"
;
ALTER TABLE LYLF615."ot_test" DATA CAPTURE NONE;
ALTER TABLE LYLF615."ot_test" NOT VOLATILE;
ALTER TABLE LYLF615."ot_test" APPEND OFF;
ALTER TABLE LYLF615."ot_test" LOCKSIZE ROW;
ALTER TABLE LYLF615."ot_test" ADD PRIMARY KEY ("id");

ALTER TABLE LYLF615."ot_test" ADD "org_id" INTEGER;

10. 数据库表字段的定义

CREATE TABLE ot_test_org
(
org_id INTEGER not null,
org_name VARCHAR(10),
PRIMARY KEY (org_id)
)
IN "mytesttbs"
;

11. 索引、主外键的建立、修改、删除

ALTER TABLE LYLF615."ot_test" ADD CONSTRAINT FK_ORG_ID
FOREIGN KEY ("org_id")
REFERENCES LYLF615.OT_TEST_ORG (ORG_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;

ALTER TABLE LYLF615."ot_test" DROP CONSTRAINT FK_ORG_ID;
ALTER TABLE LYLF615."ot_test" ADD CONSTRAINT FK_ORG_ID
FOREIGN KEY ("org_id")
REFERENCES LYLF615.OT_TEST_ORG (ORG_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;

CREATE INDEX ON



,
column 2 ...
)
UNIQUE 属性告诉 DB2,索引必须强制所有插入值的唯一性。
如果结果集是以升序和降序两种方式排序的,ALLOW REVERSE SCANS 会告诉 DB2 在索引中包括附加的指针,以允许在记录中有效地进行正向和反向链接。
DB2 能够向正在创建的索引中添加另外的列。CREATE INDEX 命令允许用户指定那些不属于实际索引但因为性能原因而保存在索引记录中的列。
CREATE UNIQUE INDEX ON EMPLOYEE (EMPNO) INCLUDE (LASTNAME,FIRSTNAME)
对于索引中包含的列而言,索引必须是 UNIQUE 的。当创建索引时,另外的列被添加到索引值中。索引不使用这些值进行排序或确定唯一性,但可以在满足 SQL 查询时使用它们。例如,下列 SELECT 语句将不需要读取实际数据行:
SELECT LASTNAME, FIRSTNAME FROM EMPLOYEE WHERE EMPNO < '000300'
要在表上创建群集索引,将 CLUSTER 关键字附加到 CREATE INDEX 命令的末尾,例如:
CREATE INDEX DEPTS-IX ON EMPLOYEE(WORKDEPT) CLUSTER
使用下列通用规则来决定为表定义的索引的经典数量。索引数量取决于数据库的主要用途:
对于在线事务处理(OLTP)环境,创建一到两个索引。
对于混合查询和 OLTP 环境,创建两到五个索引。
对于只读查询环境,创建五个以上索引。

create unique index newindx on newtable(no) include (value);

describe indexes for table newtable show detail;

drop index newindx

12. 视图的建立、修改、删除

CREATE VIEW LYLF615."ot_test_view" AS SELECT * FROM OT_TEST_ORG WHERE org_id=1

CREATE VIEW LYLF615."test_view1" AS
SELECT id,cname,a.org_id,b.org_name
FROM ot_test a, ot_test_org b
WHERE a.org_id=b.org_id

视图唯一能修改的是引用类型列,改变列的范围。其他定义好了都不能修改。当视图基于的基表drop后,视图变为无效。

 

URL:http://mycopy.blog.sohu.com/89997930.html

( column 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值