DB2常用语句
欢迎和大家交流技术相关问题:
邮箱: jiangxinnju@163.com
博客园地址: http://www.cnblogs.com/jiangxinnju
GitHub地址: https://github.com/jiangxincode
知乎地址: https://www.zhihu.com/people/jiangxinnju
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';