db2数据库使用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、db2 基础

基本语法

注释:“--”(两个减号)

字符串连接:“||”

如set msg=’aaaa’||’bbbb’,则msg为’aaaabbbb’

字符串的引用:'’(一定用单引号),如果需要输入单引号,输入两个单引号即可。

语句结束:“;”

语法来源:PASCLE

转义字符:

如果你想查询字符串中包含'%’或'_’ ,就得使用转义字符(Escape Characters)。比如,要想查询book_title中包含字符

串’99%’的纪录:

SELECT * FROM books WHERE book_title like '%99!%%’escape '!’

后面的escape '!’是定一个转义字符'!’, 指明紧跟着转义字符’!'后的%不再是统配符。

DB2命令参数选项

Db2 list command options 可以查看

-a 显示 SQLCA OFF

-c 自动落实 ON

-e 显示 SQLCODE/SQLSTATE OFF

-f 读取输入文件 OFF

-l 将命令记录到历史文件中 OFF

-n 除去换行字符 OFF

-o 显示输出 ON

-p 显示交互式输入提示 ON

-r 将输出保存到报告文件 OFF

-s 在命令出错时停止执行 OFF

-t 设置语句终止字符 OFF

-v 回送当前命令 OFF

-w 显示 FETCH/SELECT 警告信息 ON

-x 不打印列标题 OFF

-z 将所有输出保存到输出文件 OFF

这些选项的具体功能及其缺省设置为:

.a 显示 SQLCA 的数据,缺省为 OFF。

.c 是否自动落实 SQL 命令,缺省为 ON。

.e {c|s} 显示 SQLCODE 或 SQLSTATE,缺省为 OFF。

.f 文件名将命令的输入从标准输入指定到某一文件,缺省为OFF。

注:命令“db2 < 文件名”与“db2 -f 文件名”作用相同。

.l 文件名将命令记录到历史文件中,缺省为 OFF。

.n 除去换行字符,缺省为 OFF。

.o 将输出数据及信息送到标准输出,缺省为 ON。

.p 在交互方式下显示命令行处理器的提示信息,缺省为 ON。

.r 将输出保存到指定文件中,缺省为 OFF。

.s 执行批处理文件中或交互方式下的命令出错时即停止执行操作,缺省为 OFF。

.t 设置语句终止字符,缺省为 OFF。

.v 回送当前命令到标准输出,缺省为 OFF。

.w 显示 FETCH 或 SELECT 警告信息,缺省为 ON。

.x 不打印列标题,缺省为 OFF。

.z 文件名将所有输出保存到输出文件,缺省为 OFF。SQLSTATE含义

在db2命令行方式下输入:? 20012(SQLSTATE值),可以获取sql错误含义

import和export的用法

IMPORT FROM CO_ACCEPTANCEDRAFT.del OF DEL MESSAGES importmsgs.txt INSERT INTO cmmcorc.CO_ACCEPTANCEDRAFT;

EXPORT TO CO_ACCEPTANCEDRAFT.del OF DEL MESSAGES exportmsgs.txt SELECT * FROM cmmcorc.CO_ACCEPTANCEDRAFT;

如果是Sybase导出的文本,并且用TAB分隔符的文档,那么可以采用

Db2 import from filename.txt of del modified by COLDEL0x09 insert into tablename;

其中COLDEL是关键字,0x09是16进制,表示tab符号

Load用法

load from tempfile of del modified by delprioritychar replace into TABLENAME nonrecoverable;

说明:

在不相关的数据表export数据时,可以采取并发的形式,以提高效率;

TABLENAME指待清理table的名称;

modified by delprioritychar防止数据库记录中存在换行符,导致数据无法装入的情况;

replace into对现数据库中的内容进行替换,即将现行的数据记录清理,替换为数据文件内容;

nonrecoverable无日志方式装入;

查询出用户表

SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'

如何知道当前DB2的版本?

select * from sysibm.sysversions

如何知道TABLESPACE的状况?

select * from sysibm.SYSTABLESPACES

如何知道INDEX的状况?

select * from sysibm.sysindexes where tbname=’XXXX’

or

describe indexes for table table_name show detail

测试SQL的执行性能

db2batch -d DB_NAME -f select.sql -r benchmark.txt -o p3 select.sql是select语句写在文件中

如何获取连接的进程

List applications

删除当前正在使用的application:

db2 "force application (Id1,Id2,Id3)"

Id1,Id2,Id3 是List显示的应用号;

删除所有的进程

db2 force application all

查看当前应用号的执行状态:

db2 get snapshot for application agentid 299 |grep Row

如何修改缓冲池

db2 alter bufferpool ibmdefaultbp size 10240

如何知道表的字段的状况?

select * from sysibm.syscolumns where tbname=’XXXX’

如何知道DB2的数据类型?

select name,* from sysibm.sysdatatypes

如何知道BUFFERPOOLS状况?

select * from sysibm.sysbufferpools

如何查看表的结构?

describe table table_name

相关文档
最新文档