move是MySQL命令_DB2常用命令

在开发过程中总结的一些DB2的常用命令,也是自己需要用的时候在网上查的,在此做个汇总。

一、DB2导入/导出表数据语句

1.1del与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命令功能相似。

二、DB2清除表中数据

db2 “IMPORT FROM /dev/null OF DEL REPLACE INTO 表名”

或  LOAD FROM /dev/null OF DEL REPLACE INTO 表名

REPLACE导入方式会先将表中所有数据清空,然后IMPORT/LOAD又向表中导入了空数据,从而实现数据的清除操作。

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。

三、Reorg与runstats的区别

1. db2 “reorg table 表名”;

reorg 通过重构行来消除“碎片”数据并压缩信息,对表进行重组。还有一个功能就是可以将表中的数据按照某个索引关键字的顺序排列,从而可以减少某些查询i/o数量,优化数据库性能。

2. db2“runstatson table 表名”;

runstats命令就是用来收集数据库对象的状态信息,每做一次的runstat将对数据库对象作一次信息更新。

四、DB2导出/导入表结构

1.Db2look参数含义

db2look [-h]

-d: 数据库名称:这必须指定

-e: 抽取复制数据库所需要的 DDL 文件

-o: 将输出重定向到给定的文件名

-dp: 在 CREATE 语句之前生成 DROP 语句

-u: 创建程序标识:如果 -u 和 -a 都未指定,则将使用 $USER

-xs: 导出 XSR 对象并生成包含 DDL 语句的脚本

-xdir: 路径名:将用来放置 XSR 对象的目录

-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z

-t: 生成指定表的统计信息

-tw: 为名称与表名的模式条件(通配符)相匹配的表生成 DDL

-h: 更详细的帮助消息

-a: 为所有创建程序生成统计信息

-m: 在模拟方式下运行 db2look 实用程序

-c: 不要生成模拟的 COMMIT 语句

-r: 不要生成模拟的 RUNSTATS 语句

-l: 生成数据库布局:数据库分区组、缓冲池和表空间。

-x: 生成排除对象的原始定义程序的“授权”语句 DDL

-xd: 生成包括对象的原始定义程序的“授权”语句 DDL

-f: 抽取配置参数和环境变量

-td: 将 x 指定为语句定界符(缺省定界符为分号(;))

-i: 登录到数据库驻留的服务器时所使用的用户标识

-w: 登录到数据库驻留的服务器时所使用的密码

-noview: 不要生成 CREATE VIEW ddl 语句

-wrapper: 为适用于此包装器的联合对象生成 DDL

-server: 为适用于此服务器的联合对象生成 DDL

-nofed: 不要生成 Federated DDL

-fd: 为 opt_buffpage 和 opt_sortheap 以及其他配置和环境参数生成 db2fopt 语句。

-v: 只为视图生成 DDL,当指定了 -t 时将忽略此选项

-ct: 按对象创建时间生成 DDL 语句

2. db2look:生成 DDL 以便重新创建在数据库中定义的对象,生成表结构的DLL脚本。

2.1 导出指定表的表结构(表空间)

db2look  -d  dbname  -t 表名1  表名2...   -u  user_name -dp  -e -o 文件名.sql

db2look -d DB_NAME -u USER_NAME -e -o 文件名.sql(导出所有表的表结构)

2.2 导入指定表的表结构(表空间)

db2 -tvf 文件名.sql

五、DB2备份与恢复

1、脱机备份(也称为离线备份或者冷备份),此方法必须断开所有与数据库连接的应用后才能进行,备份时数据库不能提供给用户使用.

2、db2 force application all :强制关闭实例上的所有应用程序。

3、备份

db2 backupdatabase数据库名  to 备份路径

4、恢复

db2 restoredatabase 数据库名 from 备份的路径

六、DB2何如在已有的RMK中添加新的内容

update tablename set concat(rmk,’addContext’) where 条件

update tablename set rmk=rmk||’addContext’ where 条件

七、如何删除索引

7.1  Microsoft Access、MySQL数据库中删除索引

DROP INDEX index ON table;

index是要删除的索引名,table是索引相关表的名称。

7.2 在Microsoft SQL Server数据库中删除索引

DROPINDEX table.index;

index是要删除的索引名,table是索引相关表的名称。

7.3 在Oracle、DB2或PostgreSQL数据库中删除索引

DROPINDEX index;

index是要删除的索引名。

7.4 db2如何查看索引

db2 describe indexes for table db2inst1.tablename

八、添加、删除、修改字段

ALTER TABLE  tablename ALTER COLUMN  columnname set data type dataType;

ALTER TABLE  tablename DROP COLUMN   columnname;

ALTER TABLE  tablename ADD  COLUMN   columnname;

九、创建数据库表--数据存储引擎

9.1 mysql的创建方式

create table tablename() ENGING=InnoDB/myisam;

区别:

myisam 强调的是性能,执行速度比较快,如果执行大量的SELECT,myisam是不错的选择。

InnoDB 支持事务处理等高级处理,支持外键,如果执行大量的select和update语句,出于性能考虑,使用innodb是最好的选择。

9.2 db2的创建方式

默认的,暂未查到指定数据存储引擎语句。

十、DB2执行XXX.txt或XXX.sql语句

db2 -tvf xxx.txt/xxx.sql > xxx.log&

十一、DB2查看数据库服务器命令

db2 get dbm cfg

十二、DB2查询n条数据命令

select * from tablename fetch first n rows only

十三、DB2复制表结构与数据导入

DB2复制表结构:

create table table_name_new as (select * from table_name_old) definition only;

插入数据

insert into table_name_new (select * from table_name_old);

也可以用export 、import来插入数据

--复制表结构,但是不复制主键、约束、索引...

create table table_name_new like table_name_old;

十四、DB2查看数据库表空间大小

1、连接数据库

db2 connect to dbname;

2、连接指定schema

db2 set current schema schename;

3、查看当前数据库的表空间信息

db2 list tablespaces show detail;

4、获取表空间文件的物理地址

Db2 list tablespaces containers for num(num代表的是对应数据库的ID)

5、给表空间扩容,修改原有的相应容器

db2“alter tablespace 表空间名称 resize(FILE‘物理地址’新的页数);

十五、db2数据库的锁表与解锁

1、查看锁表情况

db2  get  snapshot  for  locks  on databasename ;

Application handle表示进程的标识号。该进程锁住什么表在下面会详细的列出来。

或者查看应用程序执行情况:

list application for database yourdatabasename show detail

2、查看是否有活动的链接

db2 list applications for db db_name

3、解锁

3.1、强制关闭所有连接

force application all //强行终止所有连接

3.2、清除所有db2的后台进程

force application(进程号),将特定的进程号kill

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值