DB2 使用小结(一)

       由于项目用的是IBM DB2 数据库,版本还是V8.1, 使用过程中,有一些经验或操作需要记一下。

 (1)在DB2中创建数据库与创建表。

创建数据库可以用DB2的向导生成,创建过程中填写数据库名,其它默认就OK。创建表时,如果表过多,最好用脚本进行创建。脚本可以在用Powerdesigner创建了数据库的概念模型后,Database->Generate Database->preview,里面有创建数据库的脚本,保存它就可以了。但这样生成的脚本会有一个问题,Powerdesigner自动在脚本中对表名,列名,外键名等等添加双引号。在创建DB2时,如果不作修改,生成的表名也会是带有双引号,这样在其它程序访问数据库时,表名就须要添加双引号,而不是本来的没引号的表名。一个简单的方法是用记事本打开SQL脚本,编辑->替换,把里面的双引号全部换成空格。这样,再用这个脚本生成表就Ok了。用DB2生成表,即在DB2的命令中心中,选脚本,然后把脚本粘贴到脚本区域,再执行。(之前由于没有取消双引号,导致访问数据库时经常出问题,如“找不到相对应的表”等等,所以特此记一个)

 (2DB2中修改表中列名。

DB2中是不能用Alter Table命令修改列名,在DB2的控制中心中,表->右键->改变,选中列->更改,里面的输入框都是Unable的,不能修改列的信息。这是DB2一个操作比较麻烦的地方,解决办法只能是先把原来表的数据导出,再删除这个表,再用脚本生成表(同时要记得修改列名),生成表后,再把数据导入。就OK了。

    其中,导出数据有两种方法:

1)可以在DB2控制中心中,表->右键->导出,选择原来导出的数据的文件名和路径(应该前提是选择事前必须要先有这样的文件),选择文件格式(我是选“集成交换格式”,文件格式是ixf)再选择消息文件和路径(事前也是先要有这样的文件,是out格式的)。再在“调度”那里写入用户名和密码。就可以。不过,由于事先没有这样的文件,所以一开始导出不了。所心要用第二种方法。

2)用SQL语句导出数据。以下是一个简单例子:

在命令中心,连接数据库后,输入以下命令。

导出数据:EXPORT TO "D:/项目/org.ixf" OF IXF  MESSAGES "D:/项目/msg.out" SELECT * FROM Example;

删除表Example后,修改列名,用脚本重新创建表Example,然后输入以下命令导入数据:

导入数据:Import from "D:/项目/org.ixf" OF IXF  MESSAGES "D:/项目/msg.out" insert into Example;

说明:Org.ixf是保存数据的文件,名字可以自己取,msg.out是导出数据的消息文件,Example是表名称。

    (待续。。。。。)

 

你可能感兴趣的:(DB2 使用小结(一))