`

db2常用命令

    博客分类:
  • db2
 
阅读更多

进入编辑器:

edit

基本语句:

db2 >>update pc1121 set BAD_DEBT_TERM=1,BAD_DEBT_AMT=DUE_AMT-REAL_REPAYMENT,STAT='2',STAT_24M='1' where DUE_AMT>REAL_REPAYMENT and Trim(STAT_24M)='N' (db2的缓存功能)

连接数据库:connect to db_name(数据库) user hxusr(用户) using hxusr1(口令)

 

A中的表数据想要根据B表的数据相应进行update:

update A set bal=(select txnamt from B where actno=A.actno and cnlno=A.Cnlno) where A.actno||A.cnlno in (select Actno||cnlno from B )

 

db2版本:

db2level

 

创建表结构:

db2 create table table_name

(

sno int identity(1,1) primary key,  --自动增加字段,

sname varchar(30) not null ,

sdate date not null

--CONSTRAINT   P_KEY_1   PRIMARY   KEY   (sno) 

);

 

插入记录:

db2 insert into table_name(sno,sname) values(1,'Sequen'),(2,'Jacson')

 

设置当前模式名:

db2 connect to MyDB2

db2 set current schema UT001  

 

查询模式名:

db2 select distinct tabschema from syscat.tables

表结构的改变:

alter table 表名 add 字段 类型

alter table 表名 drop column 字段

alter table 表名 alter column 字段 set data type 类型【char(10)】;只能把长度往上加

alter table 表名 add primary key(字段)

alter table 表名 drop primary key(字段)

 

db2 "reorg table b_mjour_c" 对表结构进行修改后要对表进行表重构

 

给表重命名:

 先db2 set current schema UT001  ,否则报错“has the wrong number of qualifiers”

rename table 表名 to 新表名

----------------------------------------

字符串--》时间

date(to_date(proc_dat,'yyyy-mm-dd')) + 1 days/months/years

to_date(column,'yyyy-mm-dd') :TIMESTAMP_FORMAT

 

***************************************

DB2设置客户端工具命令行:编目

db2 catalog tcpip node node70 remote 96.0.40.70 server 50000 

db2 terminate  

db2 catalog db reportdb as rpt70 at node node70

db2 terminate 

注意:在Cognos编目数据库时数据库名不能重命名! 

      服务器的IP地址可以在C:\WINDOWS\system32\drivers\etc\hosts用变量代替

***************************************

解Load锁:

db2>> load from /dev/null of del (terminate/insert/replace/restart) into TABLE_NAME

      load from /dev/null of del terminate into TABLE_NAME 

      load from /dev/null of del restart into TABLE_NAME

      load from /dev/null of del replace into TABLE_NAME

      load from /dev/null of del insert into TABLE_NAME

db2>> get snapshot for locks on reportdb

      db2 list application show detail | grep irge01

db2>> force application(20570)

 

查看表是否锁:load query table table_name

 

清光表数据:import from /dev/null of del replace into table_name

 

表空间清单:db2 list tablespaces show detail

 

表的目录:$ db2 "list node directory"

 

数据库清单:$ db2 list db directory

 

执行*.sql 文件:db2 -tvf *.sql

 

备份数据库reportdb:$db2 backup db reportdb

恢复数据库reportdb:$db2 restore db reportdb

 

导出表结构:$db2look -d reportdb -e -l -u hxusr -t Par_table -o Par_table.sql

             (db2look -d reportdb -e -z hxusr -t Par_table -o Par_table.sql)

 

导出表数据:db2move reportdb export -tn table1 table2

导入表数据:db2move reportdb import

 

导出表数据:$ db2 "export to data_eftm of del select * from b_seftm"  [导出表数据的路径,文件](一般导出来的是ixf格式的数据文件)

导入表数据:$ db2 "load from data_eftm of del insert into hxusr.b_seftm"  [导入表数据的路径,文件]

 

--导出数据-执行SQL拼接

select 'db2 " export to ' ||tabname || '.ixf of ixf modified by codepage = 1208 select * from HTL.'||tabname ||' " ;' 

from syscat.tables where tabschema ='HTL'  and type ='T' ;

 

select 'db2 " import from ' ||tabname || '.ixf of ixf commitcount 10000 insert into HTL.'|| tabname ||' " ;' 

from syscat.tables where tabschema ='HTL'  and type ='T' ;

 

--导出HTL下的 表结构等SQL

db2look -d testdb -z htl -e -o htldb.sql

 

 

建立索引:

create index "Index_INVM_ACCT_NO" on B_SSINVM (INVM_ACCT_NO ASC);

Create Unique Index IRGE03_IDX0 On Irge03( datetran,subsys,brcmgm,ccy,subnoc,stsacc,accsub );

db2 runstats on table 模式名.表名 and indexes all  请在重建表后,导入当天数据,并执行前面的脚本更新该表的统计信息。

 

查找hxusr模式名下的所有表:db2 "list tables for schema hxusr ";

 

select中创建序号:select ROW_NUMBER()OVER(【分组】partition by brhid 【排序】order by acct_no) as a,acct_no,br_name from b_sbrhm

select中判断字段输出值:select (case when mat_dt=999999999 then 2958464 else mat_dt  end) as mat_dt from b_mtermacctinfo

测试decimal处理定长:

db2 "values char(decimal('6.000',9,4))"  :00006.0000 

db2 "values char(cast(7 as decimal(7,3))) " : 0007.000

 

EXPORT.out   IMPORT.out   LOAD.out     db2move.lst  tab1.ixf     tab1.msg

$ db2move reportdb import

 

in/not in,exists/not exists:

IN:确定给定的值是否与子查询或列表中的值相匹配;

使用 EXISTS 和 NOT EXISTS 引入的子查询可用于两种集合原理的操作:交集与差集。两个集合的交集包含同时属于两个原集合的所有元素.

SELECT ProductID, ProductName FROM Northwind.dbo.Products WHERE CategoryID IN (1, 4, 5)

NOT EXISTS:

例如,要查找不出版商业书籍的出版商的名称:

SELECT pub_name FROM publishers WHERE NOT EXISTS (SELECT * FROM titles WHERE pub_id = publishers.pub_id AND type = 'business')

 

union 和union all的区别是 union会合并重复行;

 

db2 "values round(76146.935600,2)"-->76146.940000

 

db2 create table fnsonlqd.vpar2 like fnsonlqd.vpar in TBS_TSMISC; 建立一个表结构fnsonlqd.vpar2与表结构fnsonlqd.vpar一样的。

 

db2 "export to B_SCUSM.txt of del modified by nochardel select * from B_SCUSM" 导出B_SCUSM.txt数据文本且字段数据是定长度无引号的.

replace(custnam,'|','')将custnam中的'|'用''替换

 

Trim(char(bigint(bal)))||'.'||right(Trim(char(bigint(bal*100))),2) 将bal(金额类型decimal)转化为字符类型

 

db2 ? sql0803 查询报错语句

 

db2 "GRANT  SELECT,INSERT,UPDATE,DELETE,ALTER,INDEX,REFERENCES ON TABLE PBCDWDB.CMREPORTGROUP(表) TO USER PBCDWDB(用户)" 赋予用户权限

 

在bnd目录下需传bnd文件 bind dbapi.bnd 绑定

 

db2 在创建表中一般不用"table_name"来创建表,如果用了会对大小写敏感

 

db2 get db cfg for 'database' 获取该数据库database中配置参数

db2 update db cfg for sample(数据库) using LOGFILSIZ(参数) 50000  修改该数据库的配置参数

 

 

db2 set integrity for XX immediate checked 查询报表时报reason code 1错误时用

db2 "load from /dev/null of del terminate into s_structure" 查询报表时报reason code 3错误时用

 

db2 "import from filename of del [modified by nochardel(chardel)"][modified by coldel|][modified by norowwarnings屏蔽行警告] warningcount 1 insert into tablename"在加载数据的时候假如有警告或者错误(类型不匹配,列不对应造成的)条数超过warningcount就会停止

 

grep db2c_db2inst1 /etc/services 查找db2端口号

 

db2 "select current date from sysibm.sysdummy1" 取出当前数据库日期

 

db2 "values ''''"转义单引号两个单引号输出一个单引号

 

查看db2端口:

1.db2 get dbm cfg | grep -i service 获取TCP/IP Service name 【pbcdw】

2.grep pbcdw /etc/services

 

存储过程编译执行:

db2 -td@ -vf whiles.db2  编译

db2 "CALL dept_median (51, ?)" 执行

db2set db2codepage=1386 

设置数据库的概要注册信息,该信息要与数据库的配置信息一致,否则在用“load”工具加载数据文件时,系统提示“codepage”错误

 

SQL1652N发生文件I/O错误 文件没有授予执行权限

 

分享到:
评论

相关推荐

    DB2常用命令列表,DB2常用命令列表

    DB2常用命令列表 DB2是一种关系数据库管理系统,提供了多种命令来管理和维护数据库。本文总结了常用的DB2命令,涵盖数据库创建、连接、表创建、索引创建、视图创建、触发器创建、查询、锁定、FORCE应用程序等多方面...

    db2常用命令大全

    db2常用命令大全,db2常用命令大全,db2常用命令大全,db2常用命令大全

    db2常用命令大全,有说明

    ### DB2常用命令详解 #### 一、创建数据库 **命令**: ```sql CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 ``` **说明**:此命令用于在...

    DB2常用命令.doc

    DB2常用命令概述 DB2是IBM开发的一种关系数据库管理系统,提供了多种命令来管理和维护数据库。以下是DB2常用命令的总结: 启动和关闭数据库实例 * 启动数据库实例:#db2start * 关闭数据库实例:#db2stop * 强制...

    Db2 常用命令Db2 常用命令Db2 常用命令.doc

    ### Db2常用命令详解 #### 一、Db2概述与基本命令 Db2是由IBM公司开发的一款关系型数据库管理系统(RDBMS),广泛应用于企业级数据处理领域。掌握Db2的基本命令对于日常维护和管理至关重要。 - **启动DB2管理器**...

    db2 常用命令大全

    DB2 常用命令大全 DB2 是 IBM 公司的一款关系数据库管理系统,具有强大的数据存储和处理能力。以下是 DB2 的一些常用命令,可以帮助开发人员更好地使用 DB2 数据库。 一、基础篇 1. 连接数据库 db2 connect to ...

    linux下DB2常用命令

    Linux 下 DB2 常用命令 DB2 是一个 relation database management system(关系数据库管理系统),广泛应用于企业级的数据存储和管理中。在 Linux 环境下,DB2 提供了丰富的命令行工具,用于管理和维护数据库。下面...

    DB2 常用命令汇总

    以下是从给定文件中提取并详细阐述的DB2常用命令知识点: ### 1. 建立数据库 ```sql CREATEDATABASEDB2_GCBONG:ALIASDB2_GCBUSINGCODESETGBKTERRITORYCNCOLLATEUSINGSYSTEMDFT_EXTENT_SZ32 ``` 这条命令用于创建一...

    IBM db2 常用命令大全

    IBM DB2 常用命令大全 DB2 是一种广泛使用的关系数据库管理系统,由 IBM 开发。它提供了丰富的命令集,用于管理和维护数据库。下面是 DB2 常用命令大全,包括基本的配置查看、备份、恢复、SQL 数据库、表、实例等...

    DB2常用命令,DB2 v8数据库基础

    DB2 v8作为其一个重要版本,提供了许多先进的特性和功能,对于初学者来说,掌握其基础操作和常用命令至关重要。 首先,我们来看看DB2的常用命令。在数据库管理中,命令行界面是进行日常操作的主要方式之一,以下是...

    db2常用命令总结.pdf

    标题:"db2常用命令总结.pdf" ### 知识点概览 本文档旨在总结IBM DB2数据库管理系统中常用的命令操作,覆盖了从基础的数据库管理到数据表操作以及脚本文件处理等多个方面,为DB2数据库管理员和开发人员提供一份...

    DB2常用命令,命令集

    ### DB2常用命令详解 #### 一、基本命令与实例管理 **db2level** - **功能**: 显示DB2的版本号。 - **用法**: 直接执行`db2level`即可。 **显示SQL错误信息** - **功能**: 查看特定的SQL错误信息。 - **用法**: `...

    db2常用命令+常见问题处理

    ### DB2常用命令及常见问题处理详解 #### 一、DB2基础知识 ##### 1. 数据库连接 - **命令**: `db2 connect to <数据库名>` - 用于连接到本地数据库。 - **命令**: `db2 connect to <数据库名> user <用户名> ...

    db2常用命令 很好的PDF

    ### DB2常用命令详解 #### 一、DB2命令环境管理 **1. 进入DB2命令环境** - **命令**: `db2cmd` - **功能**: 打开DB2命令行界面。 **2. 启动DB2服务** - **命令**: `db2start` - **功能**: 启动DB2服务。 - **注意...

    DB2常用命令汇总

    DB2常用命令汇总,我在项目中经常用到。DB2常用命令 DB2备份 DB2导出 DB2还原 DB2操作实例

    DB2常用命令集

    ### DB2常用命令集 #### 1. 停止 DB2 实例 - **命令**: `db2stop` - **描述**: 该命令用于停止正在运行的DB2实例。 - **注意事项**: 如果实例中有未完成的事务或连接,`db2stop`会等待这些事务完成或超时后自动...

    DB2常用命令大全

    ### DB2常用命令详解 #### 一、启动与停止服务 - **启动DB2服务**:`db2start` - 这条命令用于启动DB2数据库服务,确保数据库能够接收并处理请求。 - **关闭DB2服务**:`db2stop` - 当不再需要数据库服务时,...

Global site tag (gtag.js) - Google Analytics