DB2使用笔记-常用命令
DB2使用笔记-常用命令
可视化数据库管理软件可以用DbVisualizer,适合于多种数据库。
1 表空间
表空间实质是组织数据文件的一种途径,Oracle就是通过表空间这个数据库对象完成对数据的组织的。在将数据插入Oracle数据库之前,必须首先建立表空间,然后将数据插入表空间的一个对象中。
解释数据库、表空间、数据文件、表、数据文件的最好办法就是想象一个装满东西的柜子。数据库其实就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的信息就是数据。
2 命令行使用DB2
1) 初始化DB2环境
Win+R(windows下)进入到DB2安装目录的BIN目录下,执行命令:db2cmd,进入到DB2 CLP窗口。
Note:该模式下命令语句没有“;”
2)然后输入命令db2,然后就可以输入sql语句
3、数据库版本:db2 level
4、查看所有数据库
db2 list db directory
5、连接数据库sample
CONNECT TO sample user userName using password
6、建立数据库
Create sample database command: db2sampl
默认建立的用例数据库名是sampl,如果要指定数据库名用
db2sampl –name databaseName
7 在不同数据库间导入导出数据
(1)db2look
Link:how to use db2look
sample:
Eq : db2look -d employee -e
-generate DDL for all tables , views , etc for the employee databaseand displays on screen
db2look -d employee -e -o k.sql
-generate DDL for all tables , views , etc for the employee databaseand sends the output to k.sql file
Copy k.sql file to the target maching and run the query with thefollowing command
db2 -tvf k.sql
(2)db2move
Link:how to use db2move
8、 导出和导入数据
1)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
说明: DATABASE_NAME —数据库名称
USER_NAME —登录数据库用户名
PASSWORD —登录数据库用户密码
DB_DLL.sql —数据库全表SQL脚本文件
2) DB2命令行导出数据库全库数据
① 执行命令,导出数据
命令:DB2MOVE DATABASE_NAME EXPORT –u USER_NAME –p PASSWORD
说明: DATABASE_NAME —数据库名称
USER_NAME —登录数据库用户名
PASSWORD —登录数据库用户密码
DB_DLL.sql —数据库全表SQL脚本文件
提示: -u,-p必须是小写
3)DB2命令行导出数据库单个表数据
① 执行命令,导出单表数据
命令:DB2 EXPORT TO [path(eg..D:/TABLE_NAME.IXF)] OF IXF SELECT [字段(eg.. * orcol1,col2,……coln)] FROM TABLE_NAME;
说明:导出文件格式A:DEL (delimited ASCII format);B:WSF (worksheet format);C:IXF(integrated exchange format, PC version)
4)DB2命令行导入表数据
① 执行命令导入表数据
命令:DB2 IMPORT FORM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERT INTO TABLE_NAME;
DB2LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERT INTO TABLE_NAME;
DB2LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF REPLACE INTO TABLE_NAME;
//当装载数据前,先删除已存在的记录
DB2LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTO TABLE_NAME;
//当装载失败时,重新执行,并极力导出结果和错误信息
DB2LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTO TABLE_NAME;
//在存在自增长字段的数据导入
DB2LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF MODIFIED BY IDENTIEYIGORN INSERT TO TABLE_NAME;
解除装入数据时,发生的检查挂起:
SETINTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;
说明:命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.