DB2常用语句

时间:2022-04-25
本文章向大家介绍DB2常用语句,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
CREATE TABLE STAFF_BAK LIKE STAFF;
INSERT INTO STAFF_BAK SELECT * FROM STAFF;

SELECT * FROM STAFF_BAK;

SELECT * FROM STAFF_BAK FETCH FIRST 10 ROWS ONLY;

DELETE FROM STAFF_BAK;
DROP TABLE STAFF_BAK;

CREATE TABLE STAFF_BAK AS (SELECT * FROM STAFF) DEFINITION ONLY;

-- 创建物化表
CREATE TABLE STAFF_BAK AS (SELECT * FROM STAFF)   
DATA INITIALLY DEFERRED REFRESH DEFERRED;   
REFRESH TABLE STAFF_BAK;

-- 系统表说明

-- SYSIBM 基本表,对于db2使用进行最优化

-- 存放系统中check约束的信息,系统为每个表的每一个check约束建立一条记录
SELECT * FROM SYSIBM.SYSCHECKS;

-- 存放系统中所有表的数据列的描述信息,系统为db2里定义的每个表的每一列建立一条记录
SELECT * FROM SYSIBM.SYSCOLUMNS;

-- 为每个索引建立一条记录
SELECT * FROM SYSIBM.SYSINDEXES;

-- 系统为每一个表,视图和别名在该表中创建一行记录
SELECT * FROM SYSIBM.SYSTABLES;

-- 每个plan有一条记录
SELECT * FROM SYSIBM.SYSPLAN;

SELECT * FROM SYSIBM.SYSNODEGROUPDEF;

-- SYSCAT 基于SYSIBM表的视图,对平常轻负荷使用进行优化

-- 这两个视图显示被注册的包装器和它们特定的选项
SELECT * FROM SYSCAT.WRAPPERS;
SELECT * FROM SYSCAT.WRAPOPTIONS;


-- 这两个视图显示被注册的远程数据源和它们的特定选项
SELECT * FROM SYSCAT.SERVERS;
SELECT * FROM SYSCAT.SERVEROPTIONS;


-- 这个视图显示被注册的一个db2用户用于特定服务器的用户认证
SELECT * FROM SYSCAT.USEROPTIONS;

-- 这个视图显示分区表信息
SELECT * FROM SYSCAT.DATAPARTITIONS;

-- SYSSTAT 数据库分析


CREATE DATABASE 'JXDB';

-- 创建分区表
CREATE TABLE MUSIC(ID INTEGER,NAME VARCHAR(20),STYLE VARCHAR(20),STYLE_CODE INTEGER)
PARTITION BY RANGE(STYLE_CODE)
(PART P1 STARTING '1',PART P2 STARTING '2',PART P3 STARTING '3',PART P4 STARTING '4' ENDING MAXVALUE);

INSERT INTO MUSIC VALUES(1,'HAVE A NICE DAY','POP',2);
INSERT INTO MUSIC VALUES(2,'WE WILL ROCK YOU','ROCK',1);

DESCRIBE DATA PARTITIONS FOR TABLE MUSIC SHOW DETAIL;

SELECT DATAPARTITIONNAME,TABNAME,AVGROWSIZE  FROM SYSCAT.DATAPARTITIONS WHERE TABNAME = 'MUSIC';