DB2导出表结构、表数据

合集下载

DB2数据导入导出及建库步骤2命令

DB2数据导入导出及建库步骤2命令

文档编号:DB2数据导入导出及建库步骤2013年3月关于本文档说明:类型-创建(C)、修改(U)、删除(D)、增加(A);目录关于本文档 (2)DB2 数据导入导出及建库步骤 (4)一、数据库数据的导出 (4)二、编辑导出的数据 (4)三、数据库的创建 (5)四、数据库数据的导入 (5)五、数据库数据的备份与还原 (5)DB2 数据导入导出及建库步骤【说明:LISG为已有数据库,LISG为想要创建的数据库。

】一、数据库数据的导出1、启动DB2服务本地:db2cmd 远程:telnet2、连接数据库db2 connect to LISG user db2inst1 using db2adm273、重启数据库,断开所有连接db2stop forcedb2start4、导出表结构及函数db2look -d LISG-a -e -x -o 20130309.sql -i db2inst1 -w db2adm275、导出基础数据(需指定文件夹目录cd /home/db2inst1/20130309 )db2move LISG export -u db2inst1 -p db2adm27二、编辑导出的数据1、基础数据打tar包命令:进入上级目录,执行“tar -tvf 20130309.tar20130309 ”;2、将导出的建表语句、基础数据放到指定路径下,编辑导出的20130307.sql文件,按照“表结构\视图\函数\存储\RISKAMNT函数”排序。

去掉所有的双引号,更换表与函数的前缀名为想要用的用户名(如“DB2INST1”),去掉开头的connect 并且把所有存在blob字段的表空间(即create语句的IN 后面的表空间)改成新建pagesize 32 K 的表空间(LISG);3、将所有的创建function语句剪切到另一个function.sql文件中去(直接创建function可能会失败);4、编辑db2move.lst文件,将双引号去掉,更换前缀名为想要用的用户名(如“DB2INST1”);三、数据库的创建1、新建数据库LISGdb2 create database LISG using codeset utf-8 territory cn2、查看库信息db2 get db cfg for LISG3、创建缓冲池(连接到LISG后为LISG创建一个pagesize 为32k的缓冲池)db2 connect to LISG user db2inst1 using db2adm27db2 create bufferpool LISGBF immediate size 1000 pagesize 32K4、创建三个表空间,使用刚才建立的缓冲池,使用D:\DB2\LISG处的容器(自动新建)常规表空间:db2 create regular tablespace LISG pagesize 32K managed by system using ('D:\DB2\ LISG) bufferpool LISGBF系统临时表空间:db2 create system temporary tablespace LISG1 pagesize 32K managed by system using ('D:\DB2\ LISG1) bufferpool LISGBF用户临时表空间:db2 create user temporary tablespace LISG2 pagesize 32K managed by system using ('D:\DB2\ LISG2) bufferpool LISGBF四、数据库数据的导入1、连接数据库db2 connect to LISG user db2inst1 using db2adm272、导入表结构db2 –tvf 20130309.sql3、导入函数db2 –tvf function.sql4、导入基础数据db2move LISG load -u db2inst1 -p db2adm27五、数据库数据的备份与还原(一)数据库数据备份1、重启数据库,断开所有连接db2stop forcedb2start2、备份数据库db2 backup database LISG to ‘指定目录’(二)数据库数据还原(备注:当在同一台主机上还原一个新的数据库时产生容器共享冲突)1、重启数据库,断开所有连接db2stop forcedb2start2、删除数据库db2 drop database LISG3、重建数据库LISGdb2 create database LISG using codeset utf-8 territory cn4、查看库信息db2 get db cfg for LISG5、创建缓冲池(连接到LISG后为LISG创建一个pagesize 为32k的缓冲池)db2 connect to LISG user db2inst1 using db2adm27db2 create bufferpool LISGBF immediate size 1000 pagesize 32K6、创建三个表空间,使用刚才建立的缓冲池,使用D:\DB2\LISG处的容器(自动新建)db2 create regular tablespace LISG pagesize 32K managed by system using (/home/db2inst1/LISG/ LISG’)bufferpool LISGBFdb2 create system temporary tablespace LISG1 pagesize 32K managed by system using ('D:\DB2\ LISG1') bufferpool LISGBFdb2 create user temporary tablespace LISG2 pagesize 32K managed by system using ('D:\DB2\ LISG2') bufferpool LISGBF7、还原数据库【说明:备份的数据库(olddb) 与要还原的数据(newdb)名不相同: db2 restore db olddb into newdb 】db2 restore database LISG into LISG(from C:\Documents and Settings\Administrator)友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。

DB2数据的导入导出

DB2数据的导入导出

DB2数据的导入导出DB2数据的导入(Import)导出(Export)(Load) DB2中所谓的数据移动,包括:1. 数据的导入(Import)2. 数据的导出(Export)3. 数据的装入(Load)导入和装入都是利用DB2的相关命令把某种格式的文件中的数据保存到数据库中的表中导出是指把DB2数据库的表中的数据保存到某种格式的文件当中去数据移动的作用:如果要在不同的数据库管理系统之间转移数据,数据移动通常是最实用的一种方法,因为任何一种数据库管理系统都支持常用的几种文件格式,通过这个通用的接口,就很容易实现不同系统间数据的转移。

这三个命令中,Export最简单,因为从表中向文件转移数据,通常不会出现错误,也不会有非法的数据。

在讲解命令之前,首先介绍一下文件的格式,用于DB2数据移动的文件格式有四种:1. ASC——非定界ASCII文件,是一个ASCII字符流。

数据流中的行由行定界符分隔,而行中的每一列则通过起始和结束位置来定义。

例如:10 Head Office 160 Corporate New York15 New England 50 Eastern Boston20 Mid Atlantic 10 Eastern Washington38 South Atlantic 30 Eastern Atlanta42 Great Lakes 100 Midwest Chicago51 Plains 140 Midwest Dallas66 Pacific 270 Western San Francisco84 Mountain 290 Western Denver2. DEL——定界ASCII文件,也是一个ASCII字符流。

数据流中的行由行定界符分隔,行中的列值由列定界符分隔。

文件类型修饰符可用于修改这些定界符的默认值。

例如:10,"Head Office",160,"Corporate","New York"15,"New England",50,"Eastern","Boston"20,"Mid Atlantic",10,"Eastern","Washington"38,"South Atlantic",30,"Eastern","Atlanta"42,"Great Lakes",100,"Midwest","Chicago"51,"Plains",140,"Midwest","Dallas"66,"Pacific",270,"Western","San Francisco"84,"Mountain",290,"Western","Denver"3. WSF——(work sheet format)为工作表格式,用于与Lotus 系列的软件进行数据交换。

DB数据库的导入和导出详解

DB数据库的导入和导出详解

本文件为您介绍DB2数据库中表结构的导入和导出的两种常用方法,供您参考选择,希望能够对您有所帮助。

方法一在控制中心的对象视图窗口中,选择所要导出表结构的数据表,按住Ctrl或Shift可多选,单击鼠标右键,选择->生成DDL即可。

方法二◆第一步:打开DB2的命令行工具,在DB2安装目录的BIN文件夹下新建一个文件夹data,并且进入该目录。

创建该目录: mkdir data进入该目录: cd data◆第二步:导出表结构,命令行如下:db2look -d dbname -e -a -x -i username -w password -o ddlfile.sql执行成功之后,你会在刚才新建的文件夹下找到该sql文件。

◆第三步:导出数据,命令行如下:db2move databasename export -u username -p password至此,导出数据结束。

2导出表中数据export to [path(例:D:"TABLE1.ixf)] of ixf select [字段(例: * or col1,col2,col3)] from TABLE1;export to [path(例:D:"TABLE1.del)] of del select [字段(例: * or col1,col2,col3)] from TABLE1;导入表的数据import from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1;load from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1;load from [path(例:D:"TABLE1.ixf)] of ixf replace into TABLE1; // 装入数据前,先删除已存在记录load from [path(例:D:"TABLE1.ixf)] of ixf restart into TABLE1; // 当装入失败时,重新执行,并记录导出结果和错误信息import from [path(例:D:"TABLE1.ixf)] of ixf savecount 1000 messages [path(例:D:"msg.txt)] insert into TABLE1;// 其中,savecount表示完成每1000条操作,记录一次.存在自增长字段的数据导入:load from [path(例:D:"TABLE1.ixf)] of ixf modified by identityignore insert into TABLE1;// 加入modified by identityignore.解除装入数据时,发生的检查挂起:SET INTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.另外,对load和import,字面上的区别是:装入和导入,但仍未理解两者之间的区别.只是性能上load显然优于import.(load 需要更多的权限)。

DB2导入、导出、备份及恢复数据库等操作资料

DB2导入、导出、备份及恢复数据库等操作资料
$ db2 unquiesce database
$ db2 connect reset
说明:
1, 以上指令将会把数据库testdb备份到指定目录 /home/backup下,所以请确保当前登陆用户(db2inst1)对该目录有读写的权限。
题外话,若打算使用root用户来执行备份,请先编辑文件 /etc/group,将root用户加入到与DB2相关的几个组:db2grp1, db2fgrp1, dasadm1.
$ cd /home/movedata
$ db2move mytestdb import –u db2inst1 –p thepasswd
此时屏幕上会显示有关导入数据的信息。
存在的问题:
db2move import方式只能导入“普通”的表,如果表中存在自增长的IDENTITY列,那么使用db2move import时,会出错。这是因为,如果IDENTITY列创建表的时候都是定义成always的话,那么在导入数据的时候该列数据是不能被赋值的,而是 应该由系统生成,使用db2move无法导入这样的表。对于这种含有IDENTITY列的表,只能使用db2 import指令来进行导入,相关的参数是IDENTITYIGNORE,IDENTITYMISSING。我将在下一部分给出具体的指令操作。
建立到数据库的连接:
$ db2
db2 => connect to testdb user db2inst1 using thepasswd
以DEL格式导出:
db2 => export to /home/backup/mytbl.txt of del select * from mytbl
db2 => terminate

DB2导出表结构、表数据小结

DB2导出表结构、表数据小结

DB2导出表结构、表数据小结2010/12/5一、DB2命令行导出数据库全库表结构①Win+R进入到DB2安装目录的BIN目录下,执行命令:DB2CMD,进入到DB2 CLP窗口。

命令:DB2CMD②创建一个data文件夹命令:MKDIR data说明:将数据库全表结构的SQL语句导出到data目录下③进入到data目录命令:CD data④导出数据库全表结构命令:DB2LOOK –D DATABASE_NAME–E –A – I USER_NAME–W P ASSWORD–O DB_DLL.sql说明:DATABASE_NAME —数据库名称USER_NAME —登录数据库用户名PASSWORD —登录数据库用户密码DB_DLL.sql —数据库全表SQL脚本文件二、DB2命令行导出数据库全库数据①执行命令,导出数据命令:DB2MOVE DATABASE_NAME EXPORT –u USER_NAME–p P ASSWORD说明:DATABASE_NAME —数据库名称USER_NAME —登录数据库用户名PASSWORD —登录数据库用户密码DB_DLL.sql —数据库全表SQL脚本文件提示:-u,-p必须是小写三、DB2命令行导出数据库单个表数据①执行命令,导出单表数据命令:DB2 EXPORT TO [path(eg..D:/TABLE_NAME.IXF)] OF IXF SELECT [字段(eg.. * or col1,col2,……coln)] FROM TABLE_NAME;说明:导出文件格式A:DEL (delimited ASCII format);B:WSF (work sheetformat);C:IXF (integrated exchange format, PC version)四、DB2命令行导入表数据①执行命令导入表数据命令:DB2 IMPORT FORM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERTINTO TABLE_NAME;DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERT INTOTABLE_NAME;DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF REPLACE INTOTABLE_NAME;//当装载数据前,先删除已存在的记录DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTOTABLE_NAME;//当装载失败时,重新执行,并极力导出结果和错误信息DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTOTABLE_NAME;//在存在自增长字段的数据导入DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF MODIFIED BYIDENTIEYIGORN INSERT TO TABLE_NAME;解除装入数据时,发生的检查挂起:SET INTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;说明:命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.db2 相关命令(db2look 和 move)以及相关SQL操作关键字: db2look move1、导出到一个文件获得sql语句db2look -d cqyancao -e -o db.sql -i db2user -w psw数据库名要出文件名用户名密码示例: db2look -d DEPARTMENT -u walid -e -o db2look.sql-- 这将生成由用户 WALID 创建的所有表和联合对象的 DDL 语句-- db2look 输出被发送到名为 db2look.sql 的文件中示例: db2look -d DEPARTMENT -z myscm1 -e -o db2look.sql-- 这将为模式名为 MYSCM1 的所有表生成 DDL 语句-- 还将生成 $USER 创建的所有联合对象的 DDL。

db2 export 表结构

db2 export 表结构

db2 export 表结构一、什么是DB2 export命令在DB2中,export命令用于将数据库中的表结构导出到外部文件中。

这个外部文件可以是文本文件或者CSV文件,导出的内容包括表名、列名、数据类型、约束条件等信息。

二、使用DB2 export命令导出表结构1. 登录DB2数据库我们需要登录到DB2数据库,使用用户名和密码进行认证。

可以使用以下命令登录到DB2数据库:db2 connect to <database_name> user <username> using <password>2. 导出表结构接下来,我们使用export命令来导出表结构。

export命令的语法如下:db2 export to <output_file> of del select * from sysibm.systables where owner='<schema_name>'其中,<output_file>是导出的文件路径和文件名,可以是绝对路径或者相对路径。

del表示使用逗号分隔符,可以使用其他分隔符替换。

sysibm.systables是DB2系统表,存储了数据库中所有表的信息。

通过指定owner='<schema_name>'可以导出指定模式下的表结构。

3. 查看导出的文件导出完成后,我们可以使用文本编辑器或者命令行工具查看导出的文件。

文件内容类似以下格式:表名,列名,数据类型,约束条件table1,column1,integer,primary keytable1,column2,varchar(50),not null...三、导出的内容解读在导出的文件中,每一行表示一个表的一列,以逗号分隔。

第一行为表头,包含表名、列名、数据类型和约束条件等信息。

1. 表名表名表示导出的表的名称,可以用于唯一标识一个表。

db2数据导入

db2数据导入

1 DB2数据导出/导入这里使用的db2move方式:以该种方式可在各平台中导入(导出的文件是.msg .ixf格式)1.1 导出:1、进入linux,用db2数据库用户创建文件jzbankData夹并进入,windows下直接创建文件夹jzbankData,cd 进入该文件夹2、导出表结构、序列(导出的序列开始值为该表中最大序列+1开始,所以序列是没问题的)导出命令:db2look -d 数据库名-e -a -i 用户名-W 密码-O 导出文件名.sql示列:db2look -d jzbank -e -a -i db2admin -W db2admin -O db_dll.sql3、导出数据导出命令:db2move 数据库名export -u 用户名-p 用户密码示列:db2move jzbank export -u db2admin -p db2admin1.2 导入1.2.1 修改修改db_dll.sqla)如果导出、导入时的用户名、密码一致,且数据库名也一致,就无需修改,可跳过该步骤。

如果不一致,修改如下:●将JZBANK 修改为需导入的数据库名●将db2inst1 全部替换为导入该库的用户名●修改后如下:b)上一步修改完,复制一份db_dll.sql文件,修改文件名为db_dll_for.sqlc)将db_dll.sql 最后面有创建外键的语句全部删除d)将db_dll_for.sql 文件中建表、序列、主键语句全部删掉,只留创建外键语句、文件开头、结尾e)导出的建表语句中不包括表空间。

如果添加表中需要表空间,打开db_dll.sql在CREATE SCHEMA "DB2ADMIN";这句话下面添加创建表空间语句。

如:修改db2move.lst将有SYSTOOLS的语句删除将db2inst1 全部替换为导入库时的用户名,比如:DB2ADMIN修改后:1.2.2 导入命令建库创建数据库编码为utf-8,语句:db2 create db 数据名using codeset UTF-8 territory CN 示列:db2 create db jzbank using codeset UTF-8 territory CN 导入数据命令数据库创建成功后步骤1、进入jzbankData (导出时的文件夹)cd jzbankData2、导入表结构、序列、表空间,db2 -tvf db_dll.sql -z ddl_1.log如该步骤导入不成功,请先连接数据库,再执行连接数据:db2 connect to 数据名user 用户名using 密码3、导入表数据命令:db2move 导入时的数据库名import示列:db2move jzbank import4、导入表外键db2 -tvf db_dll_for.sql -z ddl_2.log注意:只能导一次,表中没有删除语句。

db2常用命令(详解)大全

db2常用命令(详解)大全

db2常⽤命令(详解)⼤全近⼀年来在项⽬开发中使⽤到了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 <端⼝号>--把远程数据库映射到本地接点⼀般为50000db2 catalog db <远程数据库名称> as <接点名称> at node PUB11--远程数据库名称到本地接点db2 CONNECT TO <接点名称> user <⽤户名> using <密码>--连接本地接点访问远程数据库8、数据库导出db2look -d <数据库名> -u <⽤户> -e -o <脚本名称>.sql--导出数据库的表结构,其中⽤户空间⼀般为db2admin/db2inst1db2look -d <数据库名> -u <⽤户> -t <表1> <表2> -e -o <脚本名称>.sql--导出数据库中表1和表2的表结构db2move <数据库名> export --导出数据库数据db2move <数据库名> export -tn <表1>,<表2> --导出数据库中表和表数据 db2move dbname export;db2move dbname import db2move bipdbrun export -sn app -u app -p app9、数据库导⼊db2 -tvf <脚本名称>.sql --把上述导出的表结构导⼊到数据库表结构db2move <数据库名> load -lo replace --把上述“db2move <数据库名> export“导出的数据导⼊到数据库中并把相同的数据替换掉在实际使⽤过程中,如果⽤到db2⾃增主键,需要使⽤by default,⽽不是always,功能是⼀样的,但这样在数据移植时候会很⽅便!10、db2 connect reset 或 db2 terminate --断开与数据库的连接11、db2set db2codepage=1208 --修改页编码为120812、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 only16、coalesce(字段名,转换后的值) --对是null的字段进⾏值转换例如:select coalesce(id,1) from <表名> --对表中id如果为null转换成117、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)这样格式正确的。

DB2表数据导出、导入的另一方法

DB2表数据导出、导入的另一方法

DB2表数据导出、导入的另一方法
数据的导出
在DB2中对表数据的导出,可以用export命令,导出数据为一个文本文件,如:
export to d:\test01.txt of del select id, name, age, address, note from testtable order by id;
数据的导入
可以用import命令从文本文件导入数据到表里,如:
import from d:\test01.txt of del insert into testtable;
如果数据量巨大,insert时数据库日志会很大,建议采用分批提交的方式来执行:
import from d:\test01.txt of del commitcount 10000 insert into testtable;
上为每insert 10000条记录会提交执行一次commit。

也可以使用load命令替换import命令,load导入数据更快。

最大的区别是load方式不记录日志,import方式记录日志。

如:load fromd:\test01.txt of del modified by codepage=1386 insert into testtable;
modified by codepage=1386参数是避免中文出现乱码。

另:这几天在修改程序的时候需要把利率精度调整,修改完数据库导入数据的时候发现有时候会报事务日志已满。

后尝试几次后发现数据条数多的时候就报错,尝试下把数据分几次导入,成功。

后有查询下网络资料,发现还可以调整db2日志的大小,不知道为啥我的可视化不好使,我就一直米尝试,但是分批导入肯定好使。

DB2导出表结构

DB2导出表结构

DB2导出表结构、表数据小结2010/12/5一、DB2命令行导出数据库全库表结构①Win+R进入到DB2安装目录的BIN目录下,执行命令:DB2CMD,进入到DB2 CLP窗口。

命令:DB2CMD②创建一个data文件夹命令:MKDIR data说明:将数据库全表结构的SQL语句导出到data目录下③进入到data目录命令:CD data④导出数据库全表结构命令:DB2LOOK –D DATABASE_NAME–E –A – I USER_NAME–W P ASSWORD–O DB_DLL.sql说明:DATABASE_NAME —数据库名称USER_NAME —登录数据库用户名PASSWORD —登录数据库用户密码DB_DLL.sql —数据库全表SQL脚本文件二、DB2命令行导出数据库全库数据①执行命令,导出数据命令:DB2MOVE DATABASE_NAME EXPORT –u USER_NAME–p P ASSWORD说明:DATABASE_NAME —数据库名称USER_NAME —登录数据库用户名PASSWORD —登录数据库用户密码DB_DLL.sql —数据库全表SQL脚本文件提示:-u,-p必须是小写三、DB2命令行导出数据库单个表数据①执行命令,导出单表数据命令:DB2 EXPORT TO [path(eg..D:/TABLE_NAME.IXF)] OF IXF SELECT [字段(eg.. * or col1,col2,……coln)] FROM TABLE_NAME;说明:导出文件格式A:DEL (delimited ASCII format);B:WSF (work sheetformat);C:IXF (integrated exchange format, PC version)四、DB2命令行导入表数据①执行命令导入表数据命令:DB2 IMPORT FORM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERTINTO TABLE_NAME;DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERT INTOTABLE_NAME;DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF REPLACE INTOTABLE_NAME;//当装载数据前,先删除已存在的记录DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTOTABLE_NAME;//当装载失败时,重新执行,并极力导出结果和错误信息DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTOTABLE_NAME;//在存在自增长字段的数据导入DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF MODIFIED BYIDENTIEYIGORN INSERT TO TABLE_NAME;解除装入数据时,发生的检查挂起:SET INTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;说明:命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.db2 相关命令(db2look 和 move)以及相关SQL操作关键字: db2look move1、导出到一个文件获得sql语句db2look -d cqyancao -e -o db.sql -i db2user -w psw数据库名要出文件名用户名密码示例: db2look -d DEPARTMENT -u walid -e -o db2look.sql-- 这将生成由用户 WALID 创建的所有表和联合对象的 DDL 语句-- db2look 输出被发送到名为 db2look.sql 的文件中示例: db2look -d DEPARTMENT -z myscm1 -e -o db2look.sql-- 这将为模式名为 MYSCM1 的所有表生成 DDL 语句-- 还将生成 $USER 创建的所有联合对象的 DDL。

导出db2数据库的表结构和数据

导出db2数据库的表结构和数据

对于db2数据库,导入和导出表结构和数据其实很简单,只需要用到db2look和db2move两个命令即可。

这两个命令都需要在客户端的命令行处理器中执行,但对于数据库服务器和客户端不在同一机器上的,需要借助catalog命令,来先完成远程数据库加载到本地,然后再进行导出导入操作。

如果是远程操作,则先需要把远程的数据库信息加载到本地,如果是本地则跳过1和2,从3开始,具体如下:1、catalog server端的node ,命令如下:db2 catalog tcpip node node_name remote hostname server service_portdb2 uncatalog node node_name(取消节点的编目)其中node_name是由你任意起的一个结点名,结点名不能跟已有的结点名重复(可通过db2 list node directory查看),hostname也可为IP address,service_port为端口号一般默认为50000。

节点目录用于存储远程数据库的所有连通性信息。

2、catalog 远端DB2 数据库,命令如下:db2 catalog db db_name [as alias_name] at node node_namedb2 uncatalog db db_name(取消数据库的编目)db_name是指远程数据库的名字,alias_name是客户端实例名(可以忽略),db2node是指上面你所指定的节点node!3、连接数据库,命令如下:db2 connect to db_name user user_name using passworddb_name是指数据库的名字,user_name是数据库用户名,password是数据库密码4、用db2look命令生成表结构的DLL脚本db2look -d db_name-i user_name-w password-a -e -o d:\script.sql db_name是指数据库的名字,user_name是数据库用户名,password是数据库密码5、用db2move导出所有表的数据db2move db_name export -u user_name-p passworddb_name是指数据库的名字,user_name是数据库用户名,password是数据库密码6、用export导出指定的表数据db2 "export to d:\data\tab1.ixf of ixf lobs to d:\data\ lobfile lobs modifiedby lobsinsepfiles messages d:\data\tab1.msg select * from schema_name.table_name"schema_name 是表所属,table_name是表名, lobsinsepfiles 或 lobsinfile 是生成lob文件前一个是生成每个,后面是生成到一个文件中7、执行sql脚本db2 -tvf d:\script.sql-z d:\script.log8、用db2move导入所有表的数据db2move db_name import -io replace -u user_name-p password9、用import导入指定的表数据db2 "import from d:\data\tab1.ixf of ixf messages d:\data\tab1.msg insertinto schema_name.table_name"。

DB2导出表结构、表数据小结

DB2导出表结构、表数据小结

DB2导出表结构、表数据小结一、DB2命令行导出数据库全库表结构①Win+R进入到DB2安装目录的BIN目录下,执行命令:DB2CMD,进入到DB2 CLP窗口。

命令:DB2CMD②创建一个data文件夹命令:MKDIR data说明:将数据库全表结构的SQL语句导出到data目录下③进入到data目录命令:CD data④导出数据库全表结构命令:DB2LOOK –D DATABASE_NAME–E –A – I USER_NAME–W P ASSWORD–O DB_DLL.sql说明:DATABASE_NAME —数据库名称USER_NAME —登录数据库用户名PASSWORD —登录数据库用户密码DB_DLL.sql —数据库全表SQL脚本文件二、DB2命令行导出数据库全库数据①执行命令,导出数据命令:DB2MOVE DATABASE_NAME EXPORT –u USER_NAME–p P ASSWORD 说明:DATABASE_NAME —数据库名称USER_NAME —登录数据库用户名PASSWORD —登录数据库用户密码DB_DLL.sql —数据库全表SQL脚本文件提示:-u,-p必须是小写三、DB2命令行导出数据库单个表数据①执行命令,导出单表数据命令:DB2 EXPORT TO [path(eg..D:/TABLE_NAME.IXF)] OF IXF SELECT [字段(eg.. * or col1,col2,……coln)] FROM TABLE_NAME;说明:导出文件格式A:DEL (delimited ASCII format);B:WSF (work sheetformat);C:IXF (integrated exchange format, PC version)四、DB2命令行导入表数据①执行命令导入表数据命令:DB2 IMPORT FORM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERTINTO TABLE_NAME;DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERT INTOTABLE_NAME;DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF REPLACE INTOTABLE_NAME;//当装载数据前,先删除已存在的记录DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTOTABLE_NAME;//当装载失败时,重新执行,并极力导出结果和错误信息DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTOTABLE_NAME;//在存在自增长字段的数据导入DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF MODIFIED BYIDENTIEYIGORN INSERT TO TABLE_NAME;解除装入数据时,发生的检查挂起:SET INTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;说明:命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.。

DB2_备份还原_导入导出

DB2_备份还原_导入导出
可使用以下命令查看: db2look -help or db2move -help
打包已导出的表结构与数据 tar zcvf 目录名.tar.gz 目录名/
在新的db2导入数据
创建数据库: db2 create db 库名
导入表结构操作:db2 -tvf 文件名.sql
导入数据操作:db2move 新建库名 import
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 5 using (path "F:\DB2\NPORTAL\BP32K")
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 6 using (path "F:\DB2\TEMP\NPORTAL\BP32K")
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 3 using (path "F:\DB2\NPORTAL\BP8K")
0I SET TABLESPACE CONTAINERS 命令成功完成。
set tablespace containers for 4 using (path "F:\DB2\NPORTAL\BP16K")
db2move JX45 export
DB2 下导出表结构及数据
su db2inst - 进入db2权限模式
任意建立一个文件夹子 mkdir data
进入文件夹子 cd data

DB2常用命令

DB2常用命令

DB2常⽤命令 在开发过程中总结的⼀些DB2的常⽤命令,也是⾃⼰需要⽤的时候在⽹上查的,在此做个汇总。

⼀、DB2导⼊/导出表数据语句1.1 del与ixf区别 del格式是⼀个⽂本⽂件,⽂件按⾏来存储,含有回车的⽂本内容在del⽂件中会另起⼀⾏,del⽂件可视;ixf格式保存的是结构和数据,是⼀个⼆进制⽂件,ixf⽂件不可视。

1.2 正常的导⼊/出数据 db2 "export to 路径/⽂件名.ixf of ixf select * from tablename"; db2 "export to 路径/⽂件名.del of del select * from tablename" db2 "import from 路径/⽂件名.del或者⽂件名.txt of del insert into tablename"; db2 "import from 路径/⽂件名.ixf或者⽂件名.ixf of ixf insert into tablename";1.3 指定编码导⼊/导出数据 1383是gb2312 db2 "export to data819.del of del modified by codepage=1208 select * from tab1" 1208是utf-8 db2 "export to data1386.del of del modified by codepage=1383 select * from tab1"1.4 指定分隔符导⼊/ coldel + 分隔符 db2 “import from 路径/⽂件名 of del modified by coldel分割符号 insert into 表名”1.5 导出/导⼊数据⽣成⽇志⽂件 db2 “import from 路径/⽂件名.ixf of ixf commitcount 5000(提交总数) messages ⽇志路径/⽇志⽂件名.log insert into 表名”;1.6 db2move:导出表的数据 与export命令功能相似。

使用shell从DB2数据库导出数据

使用shell从DB2数据库导出数据

使⽤shell从DB2数据库导出数据使⽤shell脚本根据输⼊的⽤户名,数据库名,密码从DB2数据库导出数据(1)a.sh脚本如下#!/usr/bin/bashread -p "please input your DBNAME: " DBNAMEread -p "please input your username: " usernameread -p "please input your password: " passworddb2 connect to $DBNAME user $username using $passworddb2 "EXPORT to /home/Practice/data/a.del of del select * from A"(2)连接Linux,使⽤下⾯命令执⾏su - db2inst1 -c "/home/Practice/a.sh"上⾯这条代码是关键,其中a.sh⽂件存储在/home/Practice路径下[root@localhost Practice]# chmod +x a.sh[root@localhost data]# su - db2inst1 -c "/home/Practice/a.sh"please input your DBNAME: oliverdbplease input your username: db2inst1please input your password: db2inst1Database Connection InformationDatabase server = DB2/LINUXX8664 10.5.5SQL authorization ID = DB2INST1Local database alias = OLIVERDBSQL3104N The Export utility is beginning to export data to file"/home/Practice/data/a.del".SQL3105N The Export utility has finished exporting "2" rows.Number of rows exported: 2到此处为⽌,数据已经从数据库oiliverDB导出到了⽬录/home/Practice/data下。

DB2导出数据库表结构和数据

DB2导出数据库表结构和数据

DB2导出数据库表结构和数据1.使用db2cmd打开db2命令行2.db2look -d db_name -e -a -x -i db_username -w db_passwd -0 file_name.sql #导出数据库结构3.db2move db_name export -u db_username -p db_passwd #导出数据库数据4. create database db_name on 'directory_name' using codeset utf-8 territory US collate using system; # IBM-eucJP --一种编码格式5.create schema sch_name authorization sch_passwd;#设置权限6.db2 connect to db_name user username using db_passwd #连接数据库7.db2 -tvf 'file_name'# -f 读取输入文件 -t 终止语句字符 -v 回送当前命令如果文件中每个语句是直接以回车结尾,则用-vf即可,加上-t是表示没条语句以";"结尾8.DB2数据库备份cmd--->db2cmd--->db2db stop force防止有人在应用(应该db2stop force)db start (应该db2start)//connect to wjm_mis user wyn using wyn(重新连接后,表示在使用,不能备份)backup db wjm_cms to c:\9、在新的db2导入数据创建数据库: db2 create db 库名导入表结构操作:db2 -tvf 文件名.sql导入数据操作:db2move 新建库名load我们用db2look命令得到数据库对象的DDL脚本DB2的db2look命令诠释如下:db2look 版本 8.2db2look:生成 DDL 以便重新创建在数据库中定义的对象语法: db2look -d DBname [-e] [-u Creator] [-z Schema] [-t Tname1Tname2...TnameN] [-tw Tname] [-h] [-o Fname] [-a][-m] [-c] [-r] [-l] [-x] [-xd] [-f] [-fd] [-td x] [-noview] [-i userID] [-w password][-v Vname1 Vname2 ... VnameN][-wrapper WrapperName] [-server ServerName][-nofed]db2look -d DBname [-u Creator] [-s] [-g] [-a] [-t Tname1Tname2...TnameN][-p] [-o Fname] [-i userID] [-w password]db2look [-h]-d: 数据库名称:这必须指定-e: 抽取复制数据库所需要的 DDL 文件此选项将生成包含 DDL 语句的脚本可以对另一个数据库运行此脚本以便重新创建数据库对象此选项可以和 -m 选项一起使用-u: 创建程序标识:若 -u 和 -a 都未指定,则将使用 $USER如果指定了 -a 选项,则将忽略 -u 选项-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z联合部分的模式名被忽略-t: 生成指定表的统计信息可以指定的表的数目最多为 30-tw: 为名称与表名的模式条件(通配符)相匹配的表生成 DDL当指定了 -tw 选项时,-t 选项会被忽略-v: 只为视图生成 DDL,当指定了 -t 时将忽略此选项-h: 更详细的帮助消息-o: 将输出重定向到给定的文件名如果未指定 -o 选项,则输出将转到 stdout-a: 为所有创建程序生成统计信息如果指定了此选项,则将忽略 -u 选项-m: 在模拟方式下运行 db2look 实用程序此选项将生成包含 SQL UPDATE 语句的脚本这些 SQL UPDATE 语句捕获所有统计信息可以对另一个数据库运行此脚本以便复制初始的那一个当指定了 -m 选项时,将忽略 -p、-g 和 -s 选项-c: 不要生成模拟的 COMMIT 语句除非指定了 -m 或 -e,否则将忽略此选项将不生成 CONNECT 和 CONNECT RESET 语句省略了 COMMIT。

往DB2导入表结构,批量执行SQL文建表

往DB2导入表结构,批量执行SQL文建表

往DB2导入表结构,批量执行SQL文建表上次写到如何导出数据结构和数据之后([Tips]从DB2导出表结构与数据 ) ,现在终于抽时间写完如何导入表结构了。

首先是新建数据库,可以使用Control Center,也可以使用Command line,不过对于本次新建,我更加愿意使用Command Editor。

打开之后,可以直接写如下SQL文:CREATE DATABASE MyDB2ON 'D:'USING CODESET IBM-eucJPTERRITORY JPCOLLATE USING SYSTEM;好像ON后面只识别到盘符,等成功以后,继续打开CE,在Target里选择‘MyDB2’,其实就是执行了‘connect to MYDB2 ;’,到了这里的目的是为了创建Schema,而Schema的概念即如每个家庭都有电视机,但是归属不同。

写入如下SQL:CREATE SCHEMA UT001 AUTHORIZATION MyDB2;CREATE SCHEMA UT002 AUTHORIZATION MyDB2;至此,数据库及Schema都已经建立完毕,开始导入建表的SQL 文件了。

如下图:现在我们每就要开始执行建表文件了。

这时可以用DB2 Command Line来操作。

可以直接在CE中写SQL文,然后直接执行。

而如果是DDL导出SQL文,再这样一个一个执行的话,就会很烦恼的,此时,我建议使用批量处理,我们可以写一个bat文件,放置于IBM\SQLLIB\BIN 下: db2 connect to MyDB2db2 set current schema UT001db2 -tvf D:\DATA\test.sqldb2 commit workdb2 terminate其中特别注意,第一,如果不是多个schema,则可以不用第二行。

第二,第三行中的参数-tvf,解释如下,-f 读取输入文件-t 设置语句终止字符-v 回送当前命令如果文件中每个语句是直接以回车结尾,则用-vf即可,加上-t是表示没条语句以“;”结尾。

db2 导入导出单个表的操作详解

db2 导入导出单个表的操作详解

db2 导入导出单个表的操作详解本文将详细提供db2导入导出单表数据及db2备份恢复等相关一些操作命令汇总,有需求的朋友可以参考1、导出整个数据库表结构、方法、存储过程等,执行脚本:db2look –d dbname –e –o db.sql –i username –w passworddb2 -tvf db.sql2、单表数据的导出及导入:导出:db2move dbname export -tn tablename -u db2user -p psw导入:db2move dbname import -u db2user -p psw3、数据库的备份、恢复:备份:db2 BACKUP DATABASE dbname恢复:db2 RESTORE DATABASE dbname4、使用db2move命令导出、导入数据库数据从另一数据库中导出初始化数据,首先进入导出的目录,先DB2cmd,后输入命令为:db2move dbname export –u username –p password。

注:dbname 为原数据库名,username为用户名 password为密码。

恢复命令为: db2move dbname import -u username -p password5、其它:.导出到一个文件获得sql语句db2look -d cqyancao -e -o db.sql -i db2user -w psw数据库名要出文件名用户名密码示例: db2look -d DEPARTMENT -u walid -e -o db2look.sql-- 这将生成由用户 WALID 创建的所有表和联合对象的 DDL 语句-- db2look 输出被发送到名为 db2look.sql 的文件中示例: db2look -d DEPARTMENT -z myscm1 -e -o db2look.sql-- 这将为模式名为 MYSCM1 的所有表生成 DDL 语句-- 还将生成 $USER 创建的所有联合对象的 DDL。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DB2导出表结构、表数据小结
2010/12/5 一、DB2命令行导出数据库全库表结构
①Win+R进入到DB2安装目录的BIN目录下,执行命令:DB2CMD,进入到
DB2 CLP窗口。

命令:DB2CMD
②创建一个data文件夹
命令:MKDIR data
说明:将数据库全表结构的SQL语句导出到data目录下
③进入到data目录
命令:CD data
④导出数据库全表结构
命令:DB2LOOK –D DATABASE_NAME–E –A– I USER_NAME–W PASSWORD
–O DB_DLL.sql
说明:DA TABASE_NAME —数据库名称
USER_NAME —登录数据库用户名
PASSWORD —登录数据库用户密码
DB_DLL.sql —数据库全表SQL脚本文件
二、DB2命令行导出数据库全库数据
①执行命令,导出数据
命令:DB2MOVE DATABASE_NAME EXPORT –u USER_NAME–p PASSWORD
说明:DA TABASE_NAME —数据库名称
USER_NAME —登录数据库用户名
PASSWORD —登录数据库用户密码
DB_DLL.sql —数据库全表SQL脚本文件
提示:-u,-p必须是小写
三、DB2命令行导出数据库单个表数据
①执行命令,导出单表数据
命令:DB2 EXPORT TO [path(eg..D:/TABLE_NAME.IXF)] OF IXF SELECT [字段(eg.. * or col1,col2,……coln)] FROM TABLE_NAME;
说明:导出文件格式A:DEL (delimited ASCII format);B:WSF (work sheet
format);C:IXF (integrated exchange format, PC version)
四、DB2命令行导入表数据
①执行命令导入表数据
命令:DB2 IMPORT FORM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERT
INTO TABLE_NAME;
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERT INTO
TABLE_NAME;
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF REPLACE INTO
TABLE_NAME;
//当装载数据前,先删除已存在的记录
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTO
TABLE_NAME;
//当装载失败时,重新执行,并极力导出结果和错误信息
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTO TABLE_NAME;
//在存在自增长字段的数据导入
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF MODIFIED BY IDENTIEYIGORN INSERT TO TABLE_NAME;
解除装入数据时,发生的检查挂起:
SET INTEGRITY FOR TABLE1 CHECK IMMEDIA TE UNCHECKED;
说明:命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.。

相关文档
最新文档