当前位置:首页 > 开发 > 数据库 > 正文

DB2 数据库操作笔记

发表于: 2013-11-01   作者:cjp1989   来源:转载   浏览次数:
摘要:     最近在使用DB2数据库,发现有些工具导入导出不怎么好用,datastudio、Quest Central等。导入导出数据功能都是比较不太好用。经常会报错误:会出现PACE_8K,还有其他error。       当然还是命令行模式更加好用了:网上有一大把的命令很适合大家学习。现在抽出几个常用的命令,当然命令的开头都是db2, 下面的db

    最近在使用DB2数据库,发现有些工具导入导出不怎么好用,datastudio、Quest Central等。导入导出数据功能都是比较不太好用。经常会报错误:会出现PACE_8K,还有其他error。

 

    当然还是命令行模式更加好用了:网上有一大把的命令很适合大家学习。现在抽出几个常用的命令,当然命令的开头都是db2, 下面的db2name 是要连接的名字

 

     ---打开db2cmd 

                             在dos 命令行下输入:db2cmd

    --创建database

                            在dos命令行中输入:db2 create database DB2NAME using codeset GBK territory CN

 

     ---连接本地数据库:db2 connect to db2name

 

     ---连接远程数据库 :使用catalog 命令,把远程数据库映射到本地连接

                        1)db2 catalog tcpip node <节点名称>   remote <远程数据库地址>  server   50000    

                               例如:db2 catalog tcpip node db2name remote 192.168.0.100 server 50000

                        2) db2 connect to <节点名称> user <用户名> using <密码>

                               例如:db2 contect to db2name user db2admin using db2admin

 

     ---远程数据表的导入到本地:

                       1 )现在本地磁盘创建一个目录存放 例如:F:\backup\DB2\

                       2)连接远程数据库  例如:db2 connect to db2name user db2admin using db2admin

                       3)  导出数据表结构到sql文件  

                               3.1 )  先打开目录  : cd F:\backup\DB2\

                                         3.2)执行导出表结构到sql文件 ,这样会在目录下生产dbname.sql文件

                                      :db2look -d dbname -e -a -x -i username -w password -o dbname.sql

                               3.3)导出数据:db2move dbname export -u username -p password

                                            执行完毕后,会在磁盘文件目录生产一大堆的数据文件

                   提示:可以跳过第二步直接执行第三步,就是导入数据方式有区别 load与 import

 

      --- 导入数据的方式就是:

                        1.先创建本地database、db2 create db db2name

                        2.连接本地的database、db2 connect to db2name

                        3.打开存放备份的文件目录

                   如果有sql,想先创建表结构:db2 -tvf dbname.sql

                                      再执行导入:db2move dbname load;

                   如果想一次性创建表结构和数据:就用:db2move dbname import;

 

      --- 注意这个备份目录下有几个文件需要注意:db2move.lst 文件存放了导入数据的schema,就是那个用户名下的数据,如果新建的数据库用户名和远程数据用户名不一样,只需要把这个文件下的用户名替换就ok了

       日志文件:EXPORT.out,LOAD.out ,IMPORT.out 三个日志文件。从名字就能知道什么意思了。

 

 

      ----给DB2 表添加一个字段和注释:

 

        ALTER TABLE IE_QUOTA_STANDARD

             ADD COLUMN STANDARD_LEVEL VARCHAR(1);  (NOT NULL  则表示不为空)

        comment on column IE_QUOTA_STANDARD."STANDARD_LEVEL" is '标准等级(1.优秀、2..达标、3.未达标)'

  

 

 

不同服务器数据库之间的数据操作 
 
--创建链接服务器 
exec  sp_addlinkedserver   'ITSV ' ' ' 'SQLOLEDB ' '远程服务器名或ip地址 ' 
exec  sp_addlinkedsrvlogin   'ITSV ' 'false ' , null '用户名 ' '密码 ' 
 
--查询示例 
select  from  ITSV.数据库名.dbo.表名 
 
--导入示例 
select  into  表  from  ITSV.数据库名.dbo.表名 
 
--以后不再使用时删除链接服务器 
exec  sp_dropserver   'ITSV ' 'droplogins ' 
 
--连接远程/局域网数据(openrowset/openquery/opendatasource) 
--1、openrowset 
 
--查询示例 
select  from  openrowset(  'SQLOLEDB ' 'sql服务器名 ' '用户名 ' '密码 ' ,数据库名.dbo.表名) 
 
--生成本地表 
select  into  表  from  openrowset(  'SQLOLEDB ' 'sql服务器名 ' '用户名 ' '密码 ' ,数据库名.dbo.表名) 
 
--把本地表导入远程表 
insert  openrowset(  'SQLOLEDB ' 'sql服务器名 ' '用户名 ' '密码 ' ,数据库名.dbo.表名) 
select  * from  本地表 
 
--更新本地表 
update 
set  b.列A=a.列A 
from  openrowset(  'SQLOLEDB ' 'sql服务器名 ' '用户名 ' '密码 ' ,数据库名.dbo.表名) as  inner  join  本地表 b 
on  a.column1=b.column1 
 
--openquery用法需要创建一个连接 
 
--首先创建一个连接创建链接服务器 
exec  sp_addlinkedserver   'ITSV ' ' ' 'SQLOLEDB ' '远程服务器名或ip地址 ' 
--查询 
select 
FROM  openquery(ITSV,   'SELECT *  FROM 数据库.dbo.表名 '
--把本地表导入远程表 
insert  openquery(ITSV,   'SELECT *  FROM 数据库.dbo.表名 '
select  from  本地表 
--更新本地表 
update 
set  b.列B=a.列B 
FROM  openquery(ITSV,   'SELECT * FROM 数据库.dbo.表名 ' as  a  
inner  join  本地表 b  on  a.列A=b.列A 
 
--3、opendatasource/openrowset 
SELECT  
FROM   opendatasource(  'SQLOLEDB ' ,   'Data Source=ip/ServerName;User ID=登陆名;Password=密码 '  ).test.dbo.roy_ta 
--把本地表导入远程表 
insert  opendatasource(  'SQLOLEDB ' ,   'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).数据库.dbo.表名 

 

select  from  本地表  

               

                           

DB2 数据库操作笔记

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在DB2数据库中创建了存储数据的表之后,需要能够将数据移入或移出表。将数据放入表中最简单的方法是
数据库和Doctrine 让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中读取
数据库和Doctrine   让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中
1. 打开Schema Exploer配置数据库连接,定义表属性的Type为SchemaExplorer.TableSchema, 数据库属性
1. 打开Schema Exploer配置数据库连接,定义表属性的Type为SchemaExplorer.TableSchema, 数据库属性
iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,就出现了一系列将SQLite API
iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,就出现了一系列将SQLite API
iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,就出现了一系列将SQLite API
1. 打开Schema Exploer配置数据库连接,定义表属性的Type为SchemaExplorer.TableSchema, 数据库属性
世界上只有自己是最难战胜的,也只有自己才能拯救自己! 世上本没有路,走的人多了也就成了路! 记
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号