温暖洁森

勇敢做自己

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  13 随笔 :: 1 文章 :: 70 评论 :: 0 Trackbacks
    近一年来在项目开发中使用到了IBM的DB2 9.1的数据库产品,跟Oracle相比一些命令有很大的区别,而它最大的功能是支持

xml存储、检索机制,通过XPath进行解析操作,使开发人员免于对xml文件在应用进行解析处理,先对其常用命令进行一下汇

总,以免遗忘。

注意:在执行如下命令时,需要首先安装db2客户端并通过在运行中输入db2cmd进行初始化

一、基础篇

1、db2 connect to <数据库名>    --连接到本地数据库名

       db2 connect to <数据库名> user <用户名> using <密码> --连接到远端数据库

2、 db2 force application all      --强迫所有应用断开数据库连接

   
3、db2 backup db db2name<数据库名称>  --备份整个数据库数据

       db2 restore db <db2name>                     --还原数据库

4、db2 list application --查看所有连接(需要连接到具体数据库才能查看)

5、db2start    --启动数据库
    
      db2stop --停止数据库

6、create database <数据库名> using codeset utf-8 territory CN    --创建数据库使用utf-8编码

7、db2 catalog 命令

db2 catalog tcpip node <接点名称> remote <远程数据库地址> server <端口号>  --把远程数据库映射到本地接点一般为50000

db2 catalog db <远程数据库名称> as <接点名称>  at node PUB11                       --远程数据库名称到本地接点

db2 CONNECT TO <接点名称> user <用户名> using <密码>                               --连接本地接点访问远程数据库


8、数据库导出

db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql        --导出数据库的表结构,其中用户空间一般为db2admin/db2inst1

db2look -d <数据库名> -u <用户> -t <表1> <表2>  -e -o <脚本名称>.sql   --导出数据库中表1和表2的表结构

db2move <数据库名> export              --导出数据库数据

db2move <数据库名> export -tn <表1>,<表2>       --导出数据库中表和表数据

9、数据库导入

db2 -tvf  <脚本名称>.sql       --把上述导出的表结构导入到数据库表结构

db2move <数据库名> load -lo replace   --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉 


在实际使用过程中,如果用到db2自增主键,需要使用by default, 而不是always,功能是一样的,但这样在数据移植时候会很方

便!

10、db2 connect reset 或 db2 terminate    --断开与数据库的连接

11、db2set db2codepage=1208        --修改页编码为1208

12、db2 describe table <表名>       --查看表结构

13、db2 list tables                            --查看数据库中所有表结构

        list tables for system                  --列出所有系统表

14、db2 list tablespaces                  --列出表空间

二、高级篇


15、fetch first 10 rows  only   --列出表中前10条数据

例如:select * from <表名> fetch first 10 rows only

16、coalesce(字段名,转换后的值)       --对是null的字段进行值转换

例如:select coalesce(id,1)  from <表名>    --对表中id如果为null转换成1

17、dayofweek(日期)     --计算出日期中是周几(1是周日,2是周一.......7是周六)

       dayofweek_iso    --计算出日期中是周几(1是周一.......7是周日)
      
 例如:dayofweek(date(2008-01-16))   --它会返回是4,代表星期三
           
             dayofweek_iso(date(2008-01-16))   --它会返回是3,代表星期三

18、dayofyear(日期)   --一年中的第几天,范围在1-366范围之内

注意:参数中日期的格式是YYYY-MM-DD的形式,如果不是需要进行转换,否则函数不能使用

例如:日期是20080116必须要进行转换

dayofweek(concat(concat(concat(substr(openDate,1,4),'-'),concat(substr(openDate,5,2),'-')),substr(openDate,7,2))) as week)

这样格式正确的。

19、concatt(参数1,连接值)       --把参数1加上连接值组成一个新值。

  例如: concat('aa','b')    --返回是aab


把oracle表导入到db2数据库中,有些字段类型需要进行转换,具体看:oracle与db2数据类型转换


      以上是自己经常用到一些db2命令,db2命令很多,不常用的没有在上面记录,以后如使用新命令会继续进行更新!
posted on 2008-01-16 13:44 harry520 阅读(34419) 评论(6)  编辑  收藏

评论

# re: db2常用命令大全 2008-03-21 12:03 马现福
好 谢谢   回复  更多评论
  

# re: db2常用命令大全[未登录] 2008-08-15 10:10 ke
楼主,问你个问题,我想从DB2上边导数据出来.我机器装了客户端,怎么db2move都没法用的.是不是只能远程登到服务器上导啊.谢谢
  回复  更多评论
  

# re: db2常用命令大全 2011-08-11 11:06 jinhua_110
很用啊。  回复  更多评论
  

# re: db2常用命令大全 2012-03-18 19:50 5
5  回复  更多评论
  

# re: db2常用命令大全 2013-04-24 10:34 雷锋
dayofweek 报错????  回复  更多评论
  

# re: db2常用命令大全[未登录] 2013-05-10 14:29 a
有些是错的,楼主瞎抄过来也不验证一下  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: