基本语法
注释:“--”(两个减号)
字符串连接:“||”
如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