常用命令
1、链接数据库
db2 connect to <db_name>; user <user>; using <password>;
db2 -v connect to DB_NAME
2、列出数据库中所有的表
db2 list tables
3、加载数据:
### 1)、 以默认分隔符加载,默认为“,”号
db2 "import from btpoper.txt of del insert into btpoper"
### 2)、 以指定分隔符“|”加载
db2 "import from btpoper.txt of del modified by coldel| insert into btpoper"
4、卸载数据:
### 1)、 卸载一个表中全部数据
db2 "export to btpoper.txt of del select * from btpoper"
db2 "export to btpoper.txt of del modified by coldel| select * from btpoper"
### 2)、 带条件卸载一个表中数据
db2 "export to btpoper.txt of del select * from btpoper where brhid='907020000'"
db2 "export to cmmcode.txt of del select * from cmmcode where codtp='01'"
db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode where codtp='01'"
5、查询数据结构及数据:
db2 "select * from btpoper"
db2 "select * from btpoper where brhid='907020000' and oprid='0001'"
6、清除数据库联接
db2 connect reset 断开数据库连接
db2 terminate 断开数据库连接
db2 force applications all 断开所有数据库连接
7、数据库优化命令:
reorg、runstats
当数据库经过一段时间使用,数据空间会变得越来越庞大。一些delete掉
的数据仍存放在数据库中,占用数据空间,影响系统性能。因此需要定期
运行reorg、runstats命令,清除已delete的数据,优化数据结构。
db2 reorg table 表名
db2 runstats on table 表名 with distribution and indexes all
因为要优化的表比较多,所以在/btp/bin目录下提供了一个sh程序runsall,
可在当天业务结束后,运行runsall,对数据库进行优化
8 执行一个批处理文件
db2 –tf 批处理文件名
(文件中每一条命令用 ;结束)
db2 -tf -tvf -tvsf 区别
tf就是普通的执行后面文件中的sql
参数v的意思是把sql内容打印出来
参数s的意思是每次遇到报错的命令就停止执行操作,后 面的sql就不再执行了
9、merge into语法
有一个表T,有两个字段a、b,我们想在表T中做Insert/Update,如果条件满足,则更新T中b的值,否则在T中插入一条记录。在Microsoft的SQL语法中,很简单的一句判断就可以了,SQL Server中的语法如下:
一个同时存在Insert和Update语法的Merge语句中,总共Insert/Update的记录数,就是Using语句中"源表"的记录数"。
源表b可能是一张表结构不同于a的表,有可能是一张构建相同表结构的临时表,也有可能是我们自己组起来的数据