DB2数据库基础总结

  一、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

  or

  describe select * from schema.table_name

  如何快速清除一个大表?

  alter table table_name activate not logged initally with empty table

  or

  import from null_file of del replace into table_name

  如何查看数据库的包?

  select * from syscat.packages

  如何查看数据库的存储过程?

  select procname,text,* from syscat.procedures

  Or

  select procname,text from sysibm.sysprocedures

  如何查看数据库SAMPLE的配置文件的內容?

  get database configuration for sample

  or

  get db cfg for sample

  如何將数据库SAMPLE的参数设置为默认数值?

  reset database configuration for sample

  or

  reset db cfg for sample

  如何修改数据库SAMPLE配置参数数值?

  update database configuration for sample

  using

  or

  update db cfg for sample using

  如何重新啟動数据库?

  Restart db db_name

  如何激活数据库?

  Activate db db_name

  如何停止数据库?

  Deactivate db db_name

  如何重命名表?

  Rename old_tablename to new_tablename

  如何设置DB2环境变量

  Db2set命令,

PART I – 概览.........................................................................................................................11 第 1章 – DB2 Express-C是什么?..........................................................................................13 1.1免费开发、部署和分发… 无限制!...............................................................................13 1.2用户帮助和技术支持.....................................................................................................14 1.3 DB2服务器..................................................................................................................14 1.4 DB2客户端和驱动........................................................................................................14 1.5 应用程序开发的自由性.................................................................................................15 1.6 DB2 版本号与 DB2 版本分类........................................................................................16 1.7升级到其它的 DB2版本................................................................................................16 1.8 DB2 Express-C的维护.................................................................................................16 1.9相关免费软件................................................................................................................17 1.9.1 IBM数据工作室(Data Studio)...........................................................................17 1.9.2 DB2 Net Search Extender .....................................................................................17 1.9.3 Starter Toolkit for DB2 on Rails.............................................................................17 1.9.4 Web 2.0 Starter Toolkit for DB2 ............................................................................17 1.9.5 WebSphere Application Server – Community Edition............................................18 第 2章 – DB2相关特性和产品................................................................................................19 2.1 DB2 Express-C订购中包含的功能...............................................................................22 2.1.1 Fix packs补丁包...................................................................................................22 2.1.2高可用性灾难恢复(HADR) ................................................................................22 2.1.3数据复制(Data Replication)...............................................................................22 2.2 DB2 Express-C所不具备的功能...................................................................................23 2.2.1数据库分区............................................................................................................23 2.2.2连接集中器(Connection Concentrator ).............................................................23 2.2.3 Geodetic Extender ................................................................................................23 2.2.4工作负载管理(Workload Management, WLM) .......................................................24 2.3 DB2相关收费产品........................................................................................................24 2.3.1 DB2连接(DB2 Connect)...................................................................................24 2.3.2 WebSphere Federation Server..............................................................................24 2.3.3 WebSphere Replication Server .............................................................................25 第 3章 – 安装 DB2..................................................................................................................27 3.1安装前提条件................................................................................................................27 3.2操作系统中的安装权限.................................................................................................27 3.3安装向导.......................................................................................................................27 3.4自动安装.......................................................................................................................31 实验 #1 安装DB2 Express-C,创建 SAMPLE数据库........................................................32 第 4章 – DB2的应用环境.......................................................................................................35 实验 #2 - 创建一个新的数据库............................................................................................43 4.1 DB2配置......................................................................................................................44 4.1.1 环境变量................................................................................................................44 4.1.2 数据库管理器配置文件(dbm cfg) ...........................................................................44 4.1.3 数据库配置文件(db cfg)....................................................................................46 4.1.4 DB2 概要文件注册表.............................................................................................47 4.2 DB2管理服务器...........................................................................................................48 实验 #3 – 实例、数据库和配置管理....................................................................................49 第 5章 – DB2工具..................................................................................................................51 5.1控制中心(Control Center).........................................................................................52 5.2命令编辑器(Command Editor) .................................................................................55 5.3 SQL帮助向导(SQL Assist Wizard ).........................................................................57 5.4 显示SQL按钮..............................................................................................................58 实验 #4 使用脚本填充EXPRESS数据库...........................................................................59 5.5 脚本..............................................................................................................................60 5.5.1 SQL脚本...............................................................................................................60 5.5.2操作系统(shell)脚本..........................................................................................61 实验 #5 为EXPRESS数据库创建一个安装脚本.................................................................62 5.6任务中心(Task Center )...........................................................................................65 5.6.1工具目录(Tools Catalog)数据库........................................................................65 5.7 日志(Journal)...........................................................................................................66 5.8运行状况监视器(Health Monitor ).............................................................................67 5.8.1运行状况中心(Health Center )...........................................................................68 PART II – DB2 Express-C 数据库管......................................................................................71 第 6章 – DB2体系结构...........................................................................................................73 6.1 DB2进程模型...............................................................................................................73 6.2 DB2内存模型...............................................................................................................74 6.3 DB2存储模型...............................................................................................................75 6.3.1数据页和扩展数据块..............................................................................................75 6.3.2缓冲池...................................................................................................................76 6.3.3表空间...................................................................................................................77 第 7章 – DB2 客户端的连接....................................................................................................81 7.1 DB2 目录......................................................................................................................81 7.2 配置助手(Configuration Assistant )..........................................................................82 7.2.1服务器端的安装要求..............................................................................................82 7.2.2 Setup required at the client 客户端的安装要求......................................................84 7.2.3建立客户端与服务器端概要文件............................................................................87 实验 #6 使用配置助手........................................................................................................90 第 8章 – 数据库对象...............................................................................................................93 8.1 模式..............................................................................................................................93 8.2表.................................................................................................................................93 8.2.1数据类型................................................................................................................93 8.2.2标识列...................................................................................................................96 8.2.3序列对象................................................................................................................96 8.2.4系统目录表............................................................................................................97 8.2.5已声明临时表.........................................................................................................97 实验 #7 创建一个数据表.....................................................................................................99 8.3视图............................................................................................................................101 8.4索引............................................................................................................................101 8.4.1 Design Advisor ....................................................................................................101 8.5参照完整性.................................................................................................................102 第 9章 – 数据迁移工具..........................................................................................................105 9.1 导出(EXPORT)工具...............................................................................................106 9.2 导入(IMPORT)工具................................................................................................106 9.3 使用 LOAD来导入......................................................................................................107 9.4 db2move 工具...........................................................................................................108 9.5 db2look 工具..............................................................................................................109 实验 #8 导出EXPRESS数据库的DDL............................................................................111 第 10章 – 数据库安全...........................................................................................................115 10.1 认证..........................................................................................................................116 10.2 授权..........................................................................................................................116 10.3 DBADM权限............................................................................................................118 10.4 PUBLIC 组...............................................................................................................119 10.5 GRANT和REVOKE语句 ........................................................................................119 10.6 查看授权和特权........................................................................................................119 10.7 关于组特权...............................................................................................................121 实验 #9 授予和撤销用户的权限........................................................................................122 第 11章 – 备份和恢复...........................................................................................................125 11.1 数据库的日志记录....................................................................................................125 11.2 日志的类型...............................................................................................................126 11.3 日志记录的类型.......................................................................................................126 11.3.1 循环日志记录 ....................................................................................................126 11.3.2 档案日志记录和日志保留...................................................................................127 11.4 从控制中心进行数据库日志记录...............................................................................127 11.5 日志记录的参数........................................................................................................129 11.6 数据库备份...............................................................................................................129 实验 #10 – 安排一个备份计划..........................................................................................131 11.7 数据库恢复...............................................................................................................133 11.7.1 恢复类型............................................................................................................133 11.7.2 数据库恢复........................................................................................................133 11.8 其他关于备份和恢复的操作......................................................................................134 第 12章 – 维护任务...............................................................................................................135 12.1 重组(REORG)、运行统计(RUNSTATS)、重绑定(REBIND).......................135 12.1.1重组(REORG)命令........................................................................................135 12.1.2运行统计(RUNSTATS)命令 ..........................................................................136 12.1.3 绑定/重新绑定.................................................................................................136 12.1.4 在控制中心执行维护工作...................................................................................137 12.2 维护方式...................................................................................................................139 实验#11 – 配置自动维护.................................................................................................141 第 13章 – 并行与锁定...........................................................................................................143 13.1 事务(Transactions)..............................................................................................143 13.2 并行(Concurrency) ..............................................................................................143 13.3无并行控制导致的问题 .............................................................................................144 13.3.1丢失更新(Lost update)..................................................................................145 13.3.2未落实的读(Uncommitted read)....................................................................145 13.3.3不可重复读(Non-repeatable read).................................................................146 13.3.4幻象(Phantom read)......................................................................................146 13.4隔离级别(Isolation Levels)...................................................................................147 13.4.1未落实的读........................................................................................................147 13.4.2游标稳定性........................................................................................................147 13.4.3读稳定性............................................................................................................148 13.4.4可重复读............................................................................................................148 13.4.5隔离级别对比.....................................................................................................148 13.4.6设定隔离级别.....................................................................................................149 13.5锁定升级...................................................................................................................150 13.6锁定监视...................................................................................................................151 13.7锁定等待...................................................................................................................151 13.8死锁的引发与侦测.....................................................................................................152 13.9并行与锁定的最佳实践:..........................................................................................153 PART III – DB2 Express-C应用程序开发............................................................................155 第 14章 –SQL PL 存储过程..................................................................................................157 14.1 IBM数据工作室(Data Studio)..............................................................................158 14.1.2在Data Studio中创建一个存储过程..................................................................159 14.2 SQL PL 存储过程基础..............................................................................................161 14.2.1存储过程的结构.................................................................................................161 14.2.2 可选的存储过程属性..........................................................................................162 14.2.3参数...................................................................................................................162 14.2.4 SQL PL存储过程中的注释................................................................................163 14.2.5 复合语句............................................................................................................163 14.2.6 变量声明............................................................................................................163 14.2.7 赋值语句............................................................................................................164 14.3 游标..........................................................................................................................164 14.4 流控制......................................................................................................................164 14.5 调用存储过程 ...........................................................................................................165 14.6 错误和情况处理器....................................................................................................166 14.7 动态SQL..................................................................................................................168 第 15章 – 直接插入 SQL 过程语言、触发器、用户定义函数(UDF)..................................169 15.1直接插入SQL PL .....................................................................................................169 15.2 触发器(Trigger)....................................................................................................170 15.2.1 触发器的类型 ....................................................................................................170 实验 #12 从控制中心创建一个触发器...............................................................................174 15.3 用户定义函数 (UDF).................................................................................................177 15.3.1 标量函数(Scalar function).............................................................................177 15.3.2 表函数(Table function)..................................................................................178 实验 #13 使用IBM Data Studio创建用户定义函数(UDF)............................................179 第 16章 – DB2 pureXML......................................................................................................181 16.1 在数据库中使用XML................................................................................................181 16.2 XML数据库..............................................................................................................182 16.2.1 启用 XML的数据库............................................................................................182 16.2.2 原生 XML数据库...............................................................................................182 16.3 DB2中的XML..........................................................................................................183 16.3.1 pureXML 技术优势............................................................................................184 16.3.2 XPath基础........................................................................................................185 16.3.3 XQuery的定义..................................................................................................188 16.3.4 插入 XML文档...................................................................................................189 16.3.5 查询 XML数据...................................................................................................191 16.3.6 使用 SQL/XML执行联合操作............................................................................196 16.3.7 使用 XQuery执行联合操作................................................................................196 16.3.8 更新与删除操作.................................................................................................197 16.3.9 XML 索引.........................................................................................................198 实验 #14 - SQL/XML 和 XQuery.......................................................................................200 第 17章 – 使用 Java、PHP和 Ruby进行数据库应用开发...................................................201 17.1 Java应用程序开发...................................................................................................201 17.1.1 JDBC类型 2驱动程序.......................................................................................201 17.1.2 JDBC类型 4驱动程序.......................................................................................202 17.2 PHP应用程序开发...................................................................................................203 17.2.1 DB2为PHP提供的连接选项.............................................................................203 17.2.2 Zend Core for IBM.............................................................................................204 17.3 Ruby on Rails应用程序开发.....................................................................................206 17.3.1 Startup Toolkit for DB2 on Rails ........................................................................206 附录 A — 排除故障...............................................................................................................207 A.1 查找错误代码的更多信息...........................................................................................207 A.2 SQLCODE与SQLSTATE .........................................................................................208 A.3 DB2 管理通知日志.....................................................................................................208 A.4 db2diag.log................................................................................................................209 A.5 CLI追踪.....................................................................................................................209 A.6 DB2缺陷与补丁.........................................................................................................209 参考资源 ...............................................................................................................................210 网站..................................................................................................................................210 书籍..................................................................................................................................211
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值