Chinaunix首页 | 论坛 | 博客
  • 博客访问: 375476
  • 博文数量: 78
  • 博客积分: 3274
  • 博客等级: 中校
  • 技术积分: 686
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-06 12:47
文章分类

全部博文(78)

文章存档

2017年(1)

2016年(2)

2015年(2)

2014年(1)

2013年(5)

2012年(22)

2011年(8)

2010年(31)

2009年(6)

分类: DB2/Informix

2012-07-30 23:34:37

ZZ from http://www.blogjava.net/wuxj888java/archive/2008/01/16/175595.html

近一年来在项目开发中使用到了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                      --还原数据库

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数据库中,有些字段类型需要进行转换,具体看:
阅读(692) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~