DB2数据库基础总结

发表于:2008-05-05来源:作者:点击数: 标签:数据库基础
一、db2 基础 基本语法 注释:“--”(两个减号) 字符串连接:“||” 如set msg=’aaaa’||’bbbb’,则msg为’aaaabbbb’ 字符串的引用:‘’(一定用单引号),如果需要输入单引号,输入两个单引号即可。 语句结束:“;” 语法来源:PASCLE 转义字符: 如果你
一、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

  

原文转自:http://www.ltesting.net