db2常用命令大全
sap 常用指令
•db2start - 启动 DB2 实例。
•db2stop - 停止 DB2 实例。
•db2 force application all - 强制终止所有应用程序连接。
•db2 list applications - 列出当前活动应用程序连接。
•db2 backup database - 备份数据库。
•db2 restore database - 恢复数据库。
•db2 create database - 创建数据库。
•db2 drop database - 删除数据库。
•db2 create tablespace - 创建表空间。
•db2 drop tablespace - 删除表空间。
•db2 create table - 创建表。
•db2 drop table - 删除表。
•db2 insert into table - 将数据插入表中。
•db2 select from table - 从表中选择数据。
•db2 update table - 更新表中的数据。
•db2 delete from table - 从表中删除数据。
•db2 create index - 创建索引。
•db2 drop index - 删除索引。
•db2 create view - 创建视图。
•db2 drop view - 删除视图。
•db2 create procedure - 创建存储过程。
•db2 drop procedure - 删除存储过程。
•db2 create function - 创建函数。
•db2 drop function - 删除函数。
•db2 create trigger - 创建触发器。
•db2 drop trigger - 删除触发器。
•db2 create role - 创建角色。
•db2 drop role - 删除角色。
•db2 grant privileges - 授予权限。
•db2 revoke privileges - 撤销权限。
linux下db2数据库命令
linux下db2数据库命令⽬录: 1.db2连接数据库 2.db2信息查询命令 3. 数据库导⼊导出 4.db2数据库数据创建与数据迁移1.db2连接数据库su - db2inst1db2 connect to 数据库名 user ⽤户名 using 密码2.db2信息查询命令 db2 list tables #列出所有表名 db2 describe table 表名 #显⽰表字段 db2 list db directory #列出该⽤户创建的所有数据库名 db2 list tablespaces show detail #查看当前数据库表空间分配状况 db2 list application db2 list db directory 列出所有数据库 db2 list active databases 列出所有活动的数据库 db2 list tables for all 列出当前数据库下所有的表 db2 list tables for schema btp 列出当前数据库中schema为btp的表 db2 list tablespaces show detail 显⽰数据库空间使⽤情况 db2 list packages for all3. 数据库导⼊导出1、导出数据库的所有表及数据(导出的⽂件是db2move.lst、export.out、tabxx.ixf、tabxx.msg)db2move <数据库名> export2、导⼊数据库的所有表及数据(需要修改db2move.lst中的数据库名为⾃⼰的数据库名)db2move <数据库名> import3、执⾏sql语句⽂件db2 -tvf xx.sql4.db2数据库数据创建与数据迁移(创建新实例,并将其他数据库备份数据导⼊)1、root下创建⽤户名密码useradd newgw passwd newgw2、切换db2⽤户su db2inst1cd /home/db2inst13、创建数据库指定编码db2 create db databaseName using codeset utf-8 territory CN #指定编码4、连接数据库db2 CONNECT TO databaseName5、创建BUFFERPOOLdb2 "CREATE BUFFERPOOL epayBUFFER SIZE 1000 PAGESIZE 32K"6、创建TABLESPACEdb2 "CREATE TABLESPACE epaySpace PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/db2inst1/epay/ts') BUFFERPOOL epayBUFFER"7、创建临时表空间db2 "CREATE SYSTEM TEMPORARY TABLESPACE epayBUF PAGESIZE 32 K MANAGED BY SYSTEM USING ('/home/db2inst1/epay/tts') BUFFERPOOL epayBUFFER"8、断开连接db2 "DISCONNECT databaseName "9、在db2inst1下进⾏连接数据库db2 connect to databaseName10、再授权db2 grant dbadm on database to user databaseName11、重新连接db2 connect to databaseName user username using password。
DB2数据库的常用操作指令
DB2数据库的常用操作指令DB2是一种关系型数据库管理系统,其常用操作指令可以帮助用户在数据库中执行各种操作。
以下是DB2数据库的一些常用操作指令。
1.连接数据库:CONNECT TO database_name [USER username USING password]2.断开数据库连接:CONNECTRESET3.创建表:CREATE TABLE table_name (column1 datatype, column2 datatype, ...)4.删除表:DROP TABLE table_name5.修改表结构:ALTER TABLE table_name ALTER COLUMN column_name SET DATA TYPE datatype6.插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)7.更新数据:UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition8.删除数据:DELETE FROM table_name WHERE condition9.查询数据:SELECT column1, column2, ... FROM table_name WHERE condition 10.创建索引:CREATE INDEX index_name ON table_name (column1, column2, ...)11.删除索引:DROP INDEX index_name12.创建视图:CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition13.修改视图:ALTER VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition14.删除视图:DROP VIEW view_name15.创建存储过程:CREATE PROCEDURE procedure_name (parameter1 datatype, parameter2 datatype, ...)LANGUAGESQLBEGIN--存储过程代码END16.删除存储过程:DROP PROCEDURE procedure_name17.创建触发器:CREATE TRIGGER trigger_name BEFORE/AFTERINSERT/UPDATE/DELETE ON table_nameREFERENCING OLD ROW AS old NEW ROW AS newFOREACHROW--触发器代码18.删除触发器:DROP TRIGGER trigger_name19.提交事务:COMMIT20.回滚事务:ROLLBACK21.创建数据库:CREATE DATABASE database_name22.删除数据库:DROP DATABASE database_name以上是DB2数据库的一些常用操作指令,可以帮助用户在数据库中执行各种操作。
db2命令记录(一)
第一.请问高手,如何查看tablespace里包含哪些表?select tabschema,tabname from syscat.tables where tbspace='TABLESPACEA' and type='T' 这里的TABLESPACEA具体情况定,如用USERSPACE1(158.222.2.110)第二.DB2 CLP从DOS进入db2cmddb2cmd在本地DB2数据库添加一个远程结点db2 catalog tcpip node xdzx1 remote 155.222.2.110 server 60064db2 catalog database xdzx1 at node xdzx1查看版本信息db2licm -l启动,停止db2数据库db2admin start db2admin stopdb2start db2stop执行存储过程db2 " call p01_acct_depacct_y('2007-4-15',?,?)"创建t01_acct_depacct_y表,in dms_data 代表数据存在dms_data命名空间 index in dms_idx代表索引创建在dms_idx里面create table t01_acct_depacct_y(record_date DATE not null,etl_date DATE,dep_acct_no CHAR(15) not null,curr_cd CHAR(3) not null,curr_iden CHAR(1) not null,bank_no CHAR(6) not null,summary_bank_no CHAR(6),xyz_no CHAR(2),dep_categ CHAR(1),acct_name VARCHAR(160),acct_short_name VARCHAR(60),busi_typ CHAR(3),assu_busi_typ CHAR(2),dep_term INT,open_date DATE,close_date DATE,cust_open_date DATE,dep_bal_tsum DEC(24,2),dep_bal_msum DEC(24,2),dep_bal_qsum DEC(24,2),dep_bal_qend_ysum DEC(24,2),year_dep_amt DEC(17,2),year_dep_cnt INT,year_oth_amt DEC(17,2),year_oth_cnt INT,year_d_sum DEC(17,2),year_c_sum DEC(17,2),year_d_cnt INT,year_c_cnt INT,constraint P_pk01_acct_saacct primary key (record_date, dep_acct_no, curr_cd, curr_iden))in dms_dataindex in dms_idx获取数据库中现有存储过程select substr(procschema,1,15),substr(procname,1,15) from syscat.procedures; select * from syscat.procedures where procschema='XXGL'获取当前时间select current time from (values 1) as test;select current date from (values 2) as test;select (current_date)- 2 year,(current_date)+ 1 day,current_timestamp + 1 hour from (values 1) test在列中查询以删除重复的记录我们有一个表,字段A有重复的记录,我们想要编写一个SQL 查询来让字段A作为主键。
db2cmd 常用命令
"SERIALNO" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( START WITH +0 INCREMENT BY +1 MINVALUE +0 MAXVALUE +2147483647 NO CYCLE NO CACHE NO ORDER ) ,
9、DB2 日志处理:
DB2日志是以文件的形式存放在文件系统中,分为两种模式:循环日志和归档日志。当创建新数据库时,日志的缺省模式是循环日志。在这种模式下,只能实现数据库的脱机备份和恢复。如果要实现联机备份和恢复,必须设为归档日志模式。
目前在综合业务系统中,设置的均是归档日志模式;其它系统(如事后监督、经营决策、中间业务等)一般都设置为循环日志模式。至于采用何种模式,可以通过修改数据库配置参数(LOGRETAIN)来实现: 归档日志模式:db2 update db cfg for using logretain on 注:改为on后,查看数据库配置参数logretain的值时,实际显示的是recovery。改变此参数后,再次连接数据库会显示数据库处于备份暂挂(BACKUP PENDING)状态。这时,需要做一次对数据库的脱机备份(db2 backup db ),才能使数据库状态变为正常。
11、如何清理db2diag.log文件
db2diag.log,是用来记录DB2数据库运行中的信息的文件。可以通过此文件,查看记录的有关DB2数据库详细的错误信息。此文件也是不断增大的,需要定期进行清理。
可以通过查看实例的配置参数DIAGPATH,来确定db2diag.log文件是放在哪个目录下:db2 get dbm cfg 如果Diagnostic data directory path(DIAGPATH) = /home/db2inst1/sqllib/db2dump,则此文件是放在/home/db2inst1/sqllib/db2dump目录下。当文件系统/home的使用率达到80%-90%左右时,应及时删除db2diag.log文件。
db2数据库 sql常用命令
DB2数据库 SQL常用命令一、连接数据库1. 从命令行连接数据库- 语法: db2 connect to <database_name> user <username> using <password>- 示例: db2 connect to sample user db2inst1 using passw0rd2. 从命令行断开数据库连接- 语法: db2 connect reset- 示例: db2 connect reset3. 显示当前连接的数据库- 语法: db2 list database directory- 示例: db2 list database directory二、管理数据库对象4. 创建数据库- 语法: db2 create database <database_name>- 示例: db2 create database sample5. 删除数据库- 语法: db2 drop database <database_name>- 示例: db2 drop database sample6. 创建表- 语法: db2 create table <table_name> (<column1_name> <data_type>, <column2_name> <data_type>, ...)- 示例: db2 create table employee (id int, name varchar(50), age int)7. 删除表- 语法: db2 drop table <table_name>- 示例: db2 drop table employee8. 插入数据- 语法: db2 insert into <table_name> values (<value1>,<value2>, ...)- 示例: db2 insert into employee values (1, 'John', 25)9. 删除数据- 语法: db2 delete from <table_name> where <condition> - 示例: db2 delete from employee where id = 110. 更新数据- 语法: db2 update <table_name> set <column_name> =<new_value> where <condition>- 示例: db2 update employee set age = 30 where id = 111. 查询数据- 语法: db2 select <column1_name>, <column2_name>, ... from <table_name> where <condition>- 示例: db2 select * from employee三、管理数据库事务12. 启动事务- 语法: db2 autmit off- 示例: db2 autmit off13. 提交事务- 语法: db2mit- 示例: db2mit14. 回滚事务- 语法: db2 rollback- 示例: db2 rollback四、管理数据库权限15. 创建用户- 语法: db2 create user <username> password <password> - 示例: db2 create user testuser password testpass16. 授权- 语法: db2 grant <privilege> on <object> to <user>- 示例: db2 grant select, insert, update on employee to testuser17. 撤销授权- 语法: db2 revoke <privilege> on <object> from <user> - 示例: db2 revoke select, insert, update on employee from testuser五、管理数据库性能18. 优化SQL查询- 语法: db2expln -d <database_name> -t <sql_statement> - 示例: db2expln -d sample -t "select * from employee"19. 查看数据库锁- 语法: db2 list applications show det本人l- 示例: db2 list applications show det本人l20. 查看数据库表空间使用情况- 语法: db2pd -d <database_name> -tablespaces- 示例: db2pd -d sample -tablespaces六、其他常用命令21. 导出数据- 语法: db2 export to <file_name> of del select * from<table_name>- 示例: db2 export to employee.csv of del select * from employee22. 导入数据- 语法: db2 import from <file_name> of del insert into<table_name>- 示例: db2 import from employee.csv of del insert into employee23. 查看数据库配置参数- 语法: db2 get db cfg for <database_name>- 示例: db2 get db cfg for sample结语以上就是DB2数据库SQL常用命令的介绍,通过掌握这些命令,可以更方便地管理和使用DB2数据库。
DB2命令大全
DB2命令大全.txt女人谨记:一定要吃好玩好睡好喝好。
一旦累死了,就别的女人花咱的钱,住咱的房,睡咱的老公,泡咱的男朋友,还打咱的娃。
db2常用命令大全EXPOR T TOD:\PR INTXM L.IXF OF I XF近一年来在项目开发中使用到了IBM的DB29.1的数据库产品,跟Orac le相比一些命令有很大的区别,而它最大的功能是支持xml存储、检索机制,通过XPath进行解析操作,使开发人员免于对xml文件在应用进行解析处理,先对其常用命令进行一下汇总,以免遗忘。
注意:在执行如下命令时,需要首先安装d b2客户端并通过在运行中输入d b2cmd 进行初始化一、基础篇1、db2conne ct to <数据库名> --连接到本地数据库名 db2conne ct to <数据库名> us er <用户名> u sing<密码>--连接到远端数据库2、db2 f orceappli catio n all --强迫所有应用断开数据库连接3、d b2 ba ckupdb db2name<数据库名称> --备份整个数据库数据d b2 re store db <db2na me> --还原数据库4、db2 l ist a pplic ation --查看所有连接(需要连接到具体数据库才能查看)5、d b2sta rt --启动数据库db2st op --停止数据库6、c reate data base<数据库名> usi ng co deset utf-8 ter ritor y CN --创建数据库使用utf-8编码7、db2 cat alog命令db2 c atalo g tcp ip no de <接点名称>remot e <远程数据库地址> ser ver <端口号> --把远程数据库映射到本地接点一般为50000db2catal og db <远程数据库名称> as <接点名称> atnodePUB11 --远程数据库名称到本地接点d b2 CO NNECT TO <接点名称> user <用户名> usi ng <密码> --连接本地接点访问远程数据库8、数据库导出db2lo ok -d <数据库名> -u <用户> -e -o <脚本名称>.s ql --导出数据库的表结构,其中用户空间一般为db2a dmin/db2in st1db2lo ok -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sq l --导出数据库中表1和表2的表结构db2move <数据库名> ex port --导出数据库数据d b2mov e <数据库名> e xport -tn<表1>,<表2> --导出数据库中表和表数据9、数据库导入db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构d b2mov e <数据库名> l oad -lo re place --把上述“d b2mov e <数据库名> e xport “导出的数据导入到数据库中并把相同的数据替换掉在实际使用过程中,如果用到db2自增主键,需要使用by defa ult,而不是al ways,功能是一样的,但这样在数据移植时候会很方便!10、d b2 co nnect rese t 或d b2 te rmina te --断开与数据库的连接11、db2set d b2cod epage=1208 --修改页编码为120812、db2 d escri be ta ble <表名> --查看表结构13、db2 list tabl es --查看数据库中所有表结构d b2 li st ta blesfor s ystem --列出所有系统表14、db2listtable space s --列出表空间二、高级篇15、f etchfirst 10 r ows only --列出表中前10条数据例如:s elect * fr om <表名> fe tch f irst10 ro ws on ly16、coa lesce(字段名,转换后的值) --对是nul l的字段进行值转换例如:s elect coal esce(id,1) fro m <表名> --对表中id如果为null转换成117、da yofwe ek(日期) --计算出日期中是周几(1是周日,2是周一.......7是周六) da yofwe ek_is o --计算出日期中是周几(1是周一.......7是周日)例如:dayof week(date(2008-01-16)) --它会返回是4,代表星期三dayof week_iso(d ate(2008-01-16)) --它会返回是3,代表星期三18、da yofye ar(日期) --一年中的第几天,范围在1-366范围之内注意:参数中日期的格式是YYYY-MM-DD的形式,如果不是需要进行转换,否则函数不能使用例如:日期是20080116必须要进行转换da yofwe ek(co ncat(conca t(con cat(s ubstr(open Date,1,4),'-'),conca t(sub str(o penDa te,5,2),'-')),s ubstr(open Date,7,2))) asweek)这样格式正确的。
DB2数据库的操作命令总结
DB2数据库的操作命令总结以下是DB2数据库的操作命令总结:1. 连接数据库:CONNECT TO database_name USER username USING password使用CONNECTTO命令可以连接到特定的数据库,需要提供数据库的名称、用户名和密码。
2. 断开数据库连接:DISCONNECT database_name使用DISCONNECT命令可以断开与数据库的连接。
3. 创建数据库:CREATE DATABASE database_name使用CREATEDATABASE命令可以创建一个新的数据库。
4. 删除数据库:DROP DATABASE database_name使用DROPDATABASE命令可以删除一个已经存在的数据库。
5.列出所有数据库:LISTDATABASEDIRECTORY使用LISTDATABASEDIRECTORY命令可以列出所有的数据库。
6. 切换数据库:CONNECT TO database_name使用CONNECTTO命令可以切换到另一个已存在的数据库。
7. 创建表:CREATE TABLE table_name (column1 datatype1, column2 datatype2, ...)使用CREATETABLE命令可以创建一个新的表,需要提供表名和各个列的名称及数据类型。
8. 删除表:DROP TABLE table_name使用DROPTABLE命令可以删除一个已经存在的表。
9. 查询表的结构:DESCRIBE TABLE table_name使用DESCRIBETABLE命令可以查询一个表的结构,包括各个列的名称和数据类型。
10. 查询表的数据:SELECT * FROM table_name使用SELECT命令可以查询一个表中的数据,使用*表示查询所有的列。
11. 插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)使用INSERTINTO命令可以向一个表中插入新的数据,需要提供插入的列和相应的值。
db2数据库常用命令
db2常用命令0.进入db2命令环境db2cmd1.启动db2db2start;2.关闭db2db2stop;db2stop force;3.创建数据库db2 create db ;db2 create db using codeset GBK territory CN;db2 Create database using codeset IBM-eucCN territory CN;这样可以支持中文。
4.删除数据库(执行此操作要小心)db2 drop db如果不能删除,断开所有数据库连接或者重启db2。
5.断开数据库连接db2 force application all6.连接数据库db2 connect to user using7.断开数据库连接断开当前数据库连接:db2 connect reset或者:db2 disconnect current断开所有数据库的连接:db2 disconnect all8.备份数据库db2 backup db备注:执行以上命令之前需要断开数据库连接9.恢复数据库db2 restore db10.导出数据文件db2move export [-sn <模式名称,一般为db2admin>] [-tn <表名,多个之间用逗号分隔>]; 更多时候用下面这种方式:db2 export to test.ixf of ixf select * from11.导入数据文件db2move importdb2 import from text.ixf of ixf create into ;(表不存在)db2 import from text.ixf of ixf insert into ;(表已经存在)12.建立映像:db2 catalog tcpip node nodename remote 10.0.2.3 server 50000db2 catalog db dbname at node nodename13.撤销映像:db2 uncatalog db dbname14.列出数据库中所有db:db2 list db directory15.获取建表脚本:db2look -d dbname -e -t tablename -a -x -i userId -w password -o filename.sql-d: 数据库名:这必须指定-e: 抽取复制数据库所需要的 DDL 文件-u: 创建程序标识:若 -u 和 -a 都未指定,则将使用 $USER-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z-t: 生成指定表的统计信息-h: 更详细的帮助消息-o: 将输出重定向到给定的文件名-a: 为所有创建程序生成统计信息-m: 在模拟方式下运行 db2look 实用程序-c: 不要生成模拟的 COMMIT 语句-r: 不要生成模拟的 RUNSTATS 语句-l: 生成数据库布局:数据库分区组、缓冲池和表空间。
linux下的DB2命令
DB2数据库命令简介1.启动数据库db2start2.停止数据库db2stop3.连接数据库db2 connect to o_yd user db2 using pwd4.读数据库管理程序配置db2 get dbm cfg5.写数据库管理程序配置db2 update dbm cfg using 参数名参数值6.读数据库的配置db2 connect to o_yd user db2 using pwddb2 get db cfg for o_yd7.写数据库的配置db2 connect to o_yd user db2 using pwddb2 update db cfg for o_yd using 参数名参数值8.关闭所有应用连接db2 force application alldb2 force application ID1,ID2,,,Idn MODE ASYNC(db2 list application for db o_yd show detail)9.备份数据库db2 force application alldb2 backup db o_yd to d:(db2 initialize tape on \\.\tape0)(db2 rewind tape on \\.\tape0)db2 backup db o_yd to \\.\tape010.恢复数据库db2 restore db o_yd from d: to d:db2 restore db o_yd from \\.\tape0 to d:11.绑定存储过程db2 connect to o_yd user db2 using pwddb2 bind c:\dfplus.bnd拷贝存储过程到服务器上的C:\sqllib\function目录中12.整理表db2 connect to o_yd user db2 using pwddb2 reorg table ydddb2 runstats on table ydd with distribution and indexes all13.导出表数据db2 export to c:\dftz.txt of del select * from dftzdb2 export to c:\dftz.ixf of ixf select * from dftz14.导入表数据import from c:\123.txt of del insert into ylbx.czyxxdb2 import to c:\dftz.txt of del commitcount 5000 messages c:\dftz.msg insert into dftzdb2 import to c:\dftz.ixf of ixf commitcount 5000 messages c:\dftz.msg insert into dftz db2 import to c:\dftz.ixf of ixf commitcount 5000 insert into dftzdb2 import to c:\dftz.ixf of ixf commitcount 5000 insert_update into dftzdb2 import to c:\dftz.ixf of ixf commitcount 5000 replace into dftzdb2 import to c:\dftz.ixf of ixf commitcount 5000 create into dftz (仅IXF)db2 import to c:\dftz.ixf of ixf commitcount 5000 replace_create into dftz (仅IXF)15.执行一个批处理文件db2 -tf 批处理文件名(文件中每一条命令用;结束)16.自动生成批处理文件建文本文件:temp.sqlselect 'runstats on table DB2.' || tabname || 'with distribution and detailed indexes all;'from syscat.tables where tabschema='DB2' and type='T';db2 -tf temp.sql>runstats.sql17.自动生成建表(视图)语句在服务器上:C:\sqllib\misc目录中db2 connect to o_yd user db2 using pwddb2look -d o_yd -u db2 -e -p -c c:\o_yd.txt18.其他命令grant dbadm on database to user bb19select * from czyxx fetch first 1 rows only20db2look -d ylbx -u db2admin -w -asd -a -e -o a.txt21. 显示当前用户所有表list tables22.列出所有的系统表list tables for system23.查看表结构db2 describe select * from user.tables一、基础篇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 nodePUB11 --远程数据库名称到本地接点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> --导出数据库中表和表数据9、数据库导入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(openDa te,5,2),'-')),substr(openDate,7,2))) as week)这样格式正确的。
DB2常见指令
**************************************************************************************************
client
administration client 包括图形化工具和运行环境
USING SYSTEM CATALOG TABLESPACE MANAGED BY DATABASE USING ( FILE 'C:\sql001' 1024 ) *存储系统表 大小为1024*4K
USER TABLESPACE MANAGED BY DATABASE USING ( FILE 'C:\sql001' 1024 ) *存储用户创建的表
DMS表空间
容器类型 文件/裸设备
特点 管理复杂,性能高
表,索引,大对象可以分别存储在不同表空间提高性能
可以增加新的容器,做rebanlance重新分配空间
CREATE DATABASE dbname ON 'D:' USING CODESET GBK TERRITORY CN COLLATE
db2stop 停止实例
db2admin create 创建管理服务器
db2admin drop 删除管理服务器
in start 启动管理服务器
db2admin stop 停止管理服务器
db2 get dbm cfg 获得实例的参数
1024G 单位为G
*********************************************************************************************************
DB2总结——精选推荐
DB2总结⼀、DB2笔记d b2⾥需要⽤到⼀个系统环境变量:d b2c o de p a g e,缺省值是1386,在江苏电⼒,⼀般情况下d b2c o d e p a g e=437。
新安装数据库客户端的机器在D B2C O M M A N DW I N D O W S中执⾏语句:D B2S E T D B2C O D E P A G E=437,否则⽆法正确连上服务器。
设置环境变量命令:D: db2set db2codepage=1386查看环境变量命令:db2setd:\winnt\system32\drivers\etc\services⽂件是对机器名到IP地址的解析。
d:\winnt\system32\drivers\etc\hosts⽂件是对端⼝名到端⼝号的解析。
以上两条上⾮DB2的,但在DB2中使⽤到。
DB2⾥对⼀个命令的HELP是:>db2 ? 该命令db2 连接到远程数据库第⼀步建⼀个结点:>db2 catalog tcpip node 结点名 remote 数据库服务器IP地址 server 端⼝(50000)第⼆步建⼀个到库的联结别名:>db2 catalog db 库名 as 别名 at node 结点名第三步建⽴联结:>db2 connect to 别名 user ⽤户名 using ⽤户密码db2⾥需要⽤到⼀个系统环境变量:db2codepage,缺省值是1386,此值⾮常重要,客户端于数据库端的db2codepage不⼀样时客户端就⽆法连上数据库端。
电⼒部门,⼀般情况下db2codepage=437。
DB2⾥⼀个表的全名是:schema.表名,缺什情况下不同的⽤户看到的表是不⼀样的,在程序的sql语句⾥必需⽤表的全名(切记)。
查看有哪些程序在使⽤该数据库:>db2 list application其结果中有⼀个字段application-handle在杀死该引⽤中⽤到杀死⼀个程序对该数据库的使⽤:>db2 force application {all | (application-handle)}在库被使⽤时db2stop不能执⾏DB2命令后所带参数:-t 以;作为⼀句结束-f 指向⼀个⽂件(即执⾏⼀个⽂件中的语句,在command窗⼝⾥有些命令⽆法执⾏,可先⽤notepad建⼀个⽂件然后执⾏它)-v (我不知道是什么)注释:-v⽤于显⽰当前所执⾏的sql命令。
db2 restore命令参数
db2 restore命令参数
DB2数据库的RESTORE命令是用于从备份中恢复数据库的命令。
它有许多参数,以下是一些常用的参数:
1. DATABASE,指定要恢复的数据库名称。
2. FROM,指定备份的来源位置,可以是磁盘路径或者是云存储
路径。
3. TAKEN AT,指定要恢复的备份的时间点。
4. INTO,指定要将数据库恢复到的目标位置。
5. REPLACE EXISTING,如果目标数据库已经存在,使用此参数
将其替换。
6. LOGTARGET,指定将事务日志应用到的目标位置。
7. WITHOUT PROMPTING,在恢复过程中不提示用户确认。
除了上述列举的参数外,RESTORE命令还有许多其他参数,用于更精细地控制恢复过程。
例如,可以指定是否还原表空间、是否还原日志文件等。
在实际使用中,可以根据具体的恢复需求选择合适的参数进行配置。
需要注意的是,使用RESTORE命令时需要具有足够的权限,通常需要具有SYSADM或者SYSCTRL权限才能执行恢复操作。
另外,在执行恢复操作前,务必确认备份文件的完整性和可用性,以免造成数据丢失或损坏。
db2分区表命令和总结
db2分区表命令和总结1. 分区表相关的系统对象视图syscat.tables -- 表信息sysibm.systables ---表信息syscat.datapartitions --分区表信息syscat.datapartitionexpression --分区表分区字段字段信息2.分区表特性⽀持MINVALUE、MAXVALUE;⽀持值的上下边界限制,INCLUSIVE、EXCLUSIVE;仅⽀持range 的⼀级分区(⽬前);⽀持多字段的分区键;注:db2 using hashing 为distrubute by hash()分布表的意思,与分区表概念不同。
--新建分区表create table test_part (c1 int not null , c2 varchar(20), c3 varchar(8) not null) partition by range(c3)(starting '20210101',statring '20210401' ending '20210630',statring '20210701' ending '20210930',statring '20211001' ending '20211231') data capture changes--查看表分区⽅式⼀:SELECT * FROM SYSCAT.datapartitions WHERE TABNAME='TEST_PART'⽅式⼆:db2 describe data partitions for table TEST_PART--添加表分区alter table table_name add partition statis_month STARTINT'201301' INCLUSIVE ENDING '20090102' INCLUSIVE--收集信息db2 runstats on table schema.table_name--使⽤的页select tabname, npages from syscat.tables where tabname = 'table_name'--数据占⽤空间select tabname, npages*16384/(1024*1024) from syscat.tables where tabname = 'XXXXXX'3. 分区数据删除db2 "create table t1 (id int, age int) partition by range(age)(partition part1 starting 1 ending 18, partition part2 starting 19 ending 60, partition part3 starting 61 ending 80)"db2 "alter table t1 ACTIVATE COLUMN ACCESS CONTROL" --开启列访问控制db2 "insert into t1 values (1,2),(2,8),(3,10),(4,20),(5,22),(6,61)" --开启列访问控制db2 "alter table t1 detach partition part1 into t1_part1" --删除分区数据,移动到新表db2look -d tstdb -a -e -t t1_part1 --查看ddldb2 "alter table DB2TST.T1_PART1 DEACTIVATE ROW ACCESS CONTROL" --新表的去除⾏访问限制4.分区数据查看--select * from tet parttion(p1); --db2不⽀持⽤以下⽅式:select * from TEST_PART2 where (c1,c3) between (10,'20210201') and (12, '20210228') and (c1,c3) != (12, '20210228');。
DB2创建表、操作表等常用命令
DB2创建表、操作表等常⽤命令⼀、创建库表1、创建库1).创建数据语句CREATE DATABASE MEDIA ON /db2data USING CODESET UTF-8 TERRITORY CN ;2).创建BUFFERPOOLCONNECT TO MEDIA user db2admin using password;CREATE BUFFERPOOL "BP_MEDIA_32K" SIZE 100000 PAGESIZE 32768 NOT EXTENDED STORAGE;COMMIT WORK;CONNECT RESET;TERMINATE;;3).创建表空间connect to media user db2admin using password;CREATE REGULAR TABLESPACE "TB_MEDIA" IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32768 MANAGED BY DATABASEUSING (FILE '/db2data/TB_MEDIA_C1'320000) EXTENTSIZE 32 PREFETCHSIZE 32 BUFFERPOOL BP_MEDIA_32K OVERHEAD 12.500000TRANSFERRATE 0.130000 FILE SYSTEM CACHING DROPPED TABLE RECOVERY OFF;CREATE LARGE TABLESPACE "TB_MEDIA_LOB" IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32768 MANAGED BY DATABASEUSING (FILE '/db2data/TB_MEDIA_LOB_C1'640000) EXTENTSIZE 32 PREFETCHSIZE 32 BUFFERPOOL BP_MEDIA_32K OVERHEAD 12.500000TRANSFERRATE 0.130000 FILE SYSTEM CACHING DROPPED TABLE RECOVERY ON;CREATE REGULAR TABLESPACE "TB_MEDIA_IDX" IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASEUSING (FILE '/db2data/TB_MEDIA_IDX_C1'1280000) EXTENTSIZE 32 PREFETCHSIZE 32 BUFFERPOOL IBMDEFAULTBP OVERHEAD 12.500000TRANSFERRATE 0.130000 FILE SYSTEM CACHING DROPPED TABLE RECOVERY OFF;CREATE SYSTEM TEMPORARY TABLESPACE "TB_MEDIA_TMP" IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 32768 MANAGED BY SYSTEM USING ('/db2data/TB_MEDIA_TMP_C1' ) EXTENTSIZE 16 PREFETCHSIZE 16 BUFFERPOOL "BP_MEDIA_32K" OVERHEAD 12.5 TRANSFERRATE 0.13; DROP TABLESPACE USERSPACE1;-- Mimic tablespace-- ALTER TABLESPACE SYSCATSPACE PREFETCHSIZE AUTOMATIC OVERHEAD 7.500000 FILE SYSTEM CACHING TRANSFERRATE 0.060000;-- ALTER TABLESPACE TEMPSPACE1 PREFETCHSIZE AUTOMATIC OVERHEAD 7.500000 FILE SYSTEM CACHING TRANSFERRATE 0.060000;COMMIT WORK;CONNECT RESET;TERMINATE;;⼆、备份数据库1)、按表备份与恢复备份:a、导出创建表语句db2look -d media -e -c -o media.ddl -i db2admin -w passwordb、导出数据db2 connect to media user db2admin using password db2 "EXPORT TO B_NEWS.IXF OF IXF MESSAGES B_NEWS.LOG SELECT * FROM DB2ADMIN.B_NEWS"也可以,上⾯内容复制到export.sh中,执⾏以下命令./export.sh恢复:a、导⼊表结构db2 -tvf media.ddlb、导⼊数据db2 connect to MEDIA user db2admin using passworddb2 IMPORT FROM B_NEWS.IXF OF IXF MESSAGES B_NEWS.MSG INSERT INTO DB2ADMIN.B_NEWS也可以,上⾯内容复制到import.sh中,执⾏以下命令./import.sh2)、整库备份与恢复备份:a、⾸先要断开所有链接。
DB2操作指南及命令大全
DB2操作指南及命令大全1.启动实例(db2inst1):db2start2.停止实例(db2inst1):db2stop3.列出所有实例(db2inst1)db2ilist4.列出当前实例:db2 get instance5.设置当前实例set db2instance=db26.察看示例配置文件:db2 get dbm cfg|more7.更新数据库管理器参数信息:db2 update dbm cfg using para_name para_value 8.创建数据库:db2 create db test9.察看数据库配置参数信息db2 get db cfg for test|more10.更新数据库参数配置信息db2 update db cfg for test using para_name para_value 11.删除数据库:db2 drop db test12.连接数据库db2 connect to test13.列出所有表空间的详细信息。
db2 list tablespaces show detail14.列出容器的信息db2 list tablespace containers for tbs_id show detail15.创建表:db2 ceate table tb1(id integer not null,name char(10))16.列出所有表db2 list tables7.插入数据:db2 insert into tb1 values(1,’sam’);db2 insert into tb2 values(2,’smitty’);18.查询数据:db2 select * from tb19.数据:db2 delete from tb1 where id=10.创建索引:db2 create index idx1 on tb1(id);1.创建视图:db2 create view view1 as select id from tb12.查询视图:db2 select * from view13.节点编目db2 catalog tcp node node_name remote server_ip server server_port 4.察看端口号db2 get dbm cfg|grep SVCENAME5.测试节点的附接db2 attach to node_name6.察看本地节点db2 list node direcotry7.节点反编目db2 uncatalog node node_name8.数据库编目db2 catalog db db_name as db_alias at node node_name9.察看数据库的编目db2 list db directory0.连接数据库db2 connect to db_alias user user_name using user_password 1.数据库反编目db2 uncatalog db db_alias2.导出数据db2 export to myfile of ixf messages msg select * from tb1 3.导入数据db2 import from myfile of ixf messages msg replace into tb1 如有问题用:import from c:/backup/usercar of ixf create into usercar4.导出数据库的所有表数据db2move test export5.生成数据库的定义db2look -d db_alias -a -e -m -l -x -f -o db2look.sql6.创建数据库db2 create db test17.生成定义db2 -tvf db2look.sql8.导入数据库所有的数据db2move db_alias import9.重组检查db2 reorgchk0.重组表tb1db2 reorg table tb11.更新统计信息db2 runstats on table tb12.备份数据库testdb2 backup db test3.恢复数据库testdb2 restore db test44.命令处理器参数列举可用命令格式:db2 list command options更改命令格式:update command options using option value(on/off)实例:比如更改命令行自动提交的参数2=>update command options using C off--或on,只是临时改变命令行下db2set db2options=+c --或-c,永久改变45. 获取当前机器db2所有配置信息:db2support . -d dbname -c此时数据库管理程序将生成一个db2support 压缩文件包。
DB2常用sql命令
FROM SYSCAT.REFERENCES;产生生来自所有外键的SQL语句 SELECT
'ALTER TABLE '||tabschema||'.'|| SUBSTR(TABNAME,1,50)|| 'ADD CONSTRAINT ' || CONSTNAME|| 'FOREIGN KEY (' || substr(FK_COLNAMES,1,50) || ')'|| 'REFERENCES '||tabschema||'.' || SUBSTR(REFTABNAME,1,17)|| ' ON DELETE ' ||
DB2查询序列的三种方式 1. select nextval for seqName from dual 2. select next value for seqName from dual 3. select seqName.nextval from dual
end ||';' FROM SYSCAT.REFERENCES ; 产生删除所有表的SQL语句
select 'DROP TABLE '||rtrim(tabschema)||'.'||t.TABNAME||' ;' from syscat.TABLES t where tabschema like '%CMBBCD%' and t.TYPE='T'
DB2指令集
1. 建立数据库DB2_GCB 网管联盟CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCBUSING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 中国网管论坛2. 连接数据库中国网管联盟www、bitsCN、comconnect to sample1 user db2admin using 8301206中国网管论坛3. 建立别名create alias db2admin.tables for sysstat.tables;CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWScreate alias db2admin.columns for syscat.columns;create alias guest.columns for syscat.columns; 网管网bitsCN_com4. 建立表create table zjt_tables as(select * from tables) definition only;create table zjt_views as(select * from views) definition only; 5. 插入记录中国网管论坛insert into zjt_tables select * from tables;insert into zjt_views select * from views; 网管网6. 建立视图中国网管联盟www、bitsCN、comcreate view V_zjt_tables as select tabschema,tabname from zjt_tables;网管网7. 建立触发器中国网管论坛CREATE TRIGGER zjt_tables_delAFTER DELETE ON zjt_tablesREFERENCING OLD AS OFOR EACH ROW MODE DB2SQLInsert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10)) 中国网管联盟www_bitscn_com8. 建立唯一性索引CREATE UNIQUE INDEX I_ztables_tabname[size=3]ON zjt_tables(tabname);9. 查看表select tabname from tableswhere tabname='ZJT_TABLES';中国网管论坛10. 查看列中国网管联盟www_bitscn_comselect SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度from columnswhere tabname='ZJT_TABLES';网管联盟11. 查看表结构中国网管联盟www、bitsCN、comdb2 describe table user1.departmentdb2 describe select * from user.tables网管网12. 查看表的索引db2 describe indexes for table user1.department 中国网管联盟www、bitsCN、com 13. 查看视图网管网select viewname from viewswhere viewname='V_ZJT_TABLES';中国网管论坛14. 查看索引select indname from indexeswhere indname='I_ZTABLES_TABNAME'; 中国网管联盟www、bitsCN、com 15. 查看存贮过程网管联盟SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)FROM SYSCAT.PROCEDURES; 16. 类型转换(cast) ip datatype:varcharselect cast(ip as integer)+50 from log_comm_failed17. 重新连接connect reset 18. 中断数据库连接disconnect db2_gcb 网管联盟19. view application 网管网bitsCN_comLIST APPLICATION;20. kill applicationFORCE APPLICATION(0);db2 force applications all (强迫所有应用程序从数据库断开) 网管网 21. lock table 中国网管联盟lock table test in exclusive mode中国网管联盟www_bitscn_com22. 共享中国网管联盟www、bitsCN、comlock table test in share mode 中国网管论坛23. 显示当前用户所有表网管网list tables中国网管论坛24. 列出所有的系统表list tables for system网管网bitsCN_com25. 显示当前活动数据库list active databases26. 查看命令选项list command options 27. 系统数据库目录LIST DATABASE DIRECTORY 中国网管论坛 28. 表空间网管网list tablespaces 中国网管联盟www_bitscn_com29. 表空间容器LIST TABLESPACE CONTAINERS FORExample: LIST TABLESPACE CONTAINERS FOR 1 中国网管联盟www_bitscn_com 30. 显示用户数据库的存取权限GET AUTHORIZATIONS 网管联盟【转自】31. 启动实例DB2START 中国网管联盟www_bitscn_com32. 停止实例中国网管联盟www_bitscn_comdb2stop 33. 表或视图特权中国网管联盟www_bitscn_comgrant select,delete,insert,update on tables to usergrant all on tables to user WITH GRANT OPTION34. 程序包特权GRANT EXECUTEON PACKAGE PACKAGE-nameTO PUBLIC35. 模式特权中国网管联盟www、bitsCN、comGRANT CREATEIN ON SCHEMA SCHEMA-name TO USER36. 数据库特权中国网管论坛grant connect,createtab,dbadm on database to user 中国网管联盟www_bitscn_com 37. 索引特权中国网管联盟www_bitscn_comgrant control on index index-name to user38. 信息帮助(? XXXnnnnn ) 中国网管联盟www、bitsCN、com例:? SQL3008139. SQL 帮助(说明SQL 语句的语法) help statement例如,help SELECT 网管网40. SQLSTATE 帮助(说明SQL 的状态和类别代码)中国网管联盟www、bitsCN、com? sqlstate 或? class-code41. 更改与"管理服务器"相关的口令中国网管联盟db2admin setid username password 中国网管论坛42. 创建SAMPLE 数据库网管联盟db2sampldb2sampl F:(指定安装盘) 43. 使用操作系统命令! dir中国网管联盟www_bitscn_com44. 转换数据类型(cast) 中国网管联盟SELECT EMPNO, CAST(RESUME AS V ARCHAR(370))FROM EMP_RESUMEWHERE RESUME_FORMAT = 'ascii'45. UDF 中国网管联盟www、bitsCN、com要运行DB2 Java 存储过程或UDF,还需要更新服务器上的DB2 数据库管理程序配置,以包括在该机器上安装JDK 的路径中国网管联盟db2 update dbm cfg using JDK11_PA TH d:sqllibjavajdkTERMINATEupdate dbm cfg using SPM_NAME sample 网管网46. 检查DB2 数据库管理程序配置中国网管论坛db2 get dbm cfg47. 检索具有特权的所有授权名SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DA TABASE' FROM SYSCA T.DBAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCA T.TABAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCA T.PACKAGEAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCA T.SCHEMAAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCA T.PASSTHRUAUTHORDER BY GRANTEE, GRANTEETYPE, 3 中国网管联盟www_bitscn_comcreate table yhdab(id varchar(10),password varchar(10),ywlx varchar(10),kh varchar(10));create table ywlbb(ywlbbh varchar(8),ywmc varchar(60)) 网管联盟48. 修改表结构alter table yhdab ALTER kh SET DA TA TYPE varchar(13); alter table yhdab ALTER ID SET DA TA TYPE varchar(13); alter table lst_bsi alter bsi_money set data type int;insert into yhdab values('20000300001','123456','user01','20000300001'),('20000300002','123456','user02','20000300002');网管联盟49. 业务类型说明insert into ywlbb values('user01','业务申请'),('user02','业务撤消'),('user03','费用查询'),('user04','费用自缴'),('user05','费用预存'),('user06','密码修改'),('user07','发票打印'),('gl01','改用户基本信息'),('gl02','更改支付信息'),('gl03','日统计功能'),('gl04','冲帐功能'),('gl05','对帐功能'),('gl06','计费功能'),('gl07','综合统计') 网管联盟【转自】DB2上机操作指令指南1. 启动实例(db2inst1):db2start 中国网管联盟www_bitscn_com2. 停止实例(db2inst1):db2stop 3. 列出所有实例(db2inst1)db2ilist5.列出当前实例:db2 get instance4. 察看示例配置文件:db2 get dbm cfg|more 网管联盟5. 更新数据库管理器参数信息:db2 update dbm cfg using para_name para_value6. 创建数据库:db2 create db test中国网管联盟www_bitscn_com7. 察看数据库配置参数信息db2 get db cfg for test|more 中国网管联盟 8. 更新数据库参数配置信息db2 update db cfg for test using para_name para_value 10.删除数据库:db2 drop db test中国网管联盟11.连接数据库db2 connect to test网管网bitsCN_com12.列出所有表空间的详细信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9、数据库导入
db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构
db2move <数据库名> load -lo replace --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉
在实际使用过程中,如果用到db2自增主键,需要使用by default, 而不是always,功能是一样的,但这样在数据移植时候会很方
db2常用命令大全
EXPORT TO D:\PRINTXML.IXF OF IXF
近一年来在项目开发中使用到了IBM的DB2 9.1的数据库产品,跟Oracle相比一些命令有很大的区别,而它最大的功能是支持
xml存储、检索机制,通过XPath进行解析操作,使开发人员免于对xml文件在应用进行解析处理,先对其常用命令进行一下汇
便!
10、db2 connect reset 或 db2 terminate --断开与数据库的连接
11、db2set db2codepage=1208 --修改页编码为1208
12、db2 describe table <表名> --查看表结构
13、db2 list tables --查看数据库中所有表结构
db2 CONNECT TO <接点名称> user <用户名> using <密码> --连接本地接点访问远程数据库
8、数据库导出
db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql --导出数据库的表结构,其中用户空间一般为db2admin/db2inst1
19、concatt(参数1,连接值) --把参数1加上连接值组成一个新值。
例如: concat('aa','b') --返回是aab
把oracle表导入到db2数据库中,有些字段类型需要进行转换,具体看:oracle与db2数据类型转换
启动DB2服务:db2start
17、dayofweek(日期) --计算出日期中是周几(1是周日,2是周一.......7是周六)
dayofweek_iso --计算出日期中是周几(1是周一.......7是周日)
例如:dayofweek(date(2008-01-16)) --它会返回是4,代表星期三
list tables for system --列出所有系统表
14、db2 list tablespaces --列出表空间
二、高级篇
15、fetch first 10 rows only --列出表中前10条数据
例如:select * from <表名> fetch first 10 rows only
16、coalesce(字段名,转换后的值) --对是null的字段进行值转换
例如:select coalesce(id,1) from <表名> --对表中id如果为null转换成1
例如:日期是20080116必须要进行转换
dayofweek(concat(concat(concat(substr(openDate,1,4),'-'),concat(substr(openDate,5,2),'-')),substr(openDate,7,2))) as week)
这样格式正确的。
八、备份数据库
1、 db2 backup db btpdbs
2、 db2move btpdbs export
db2look -d btpdbs -e -x [-a] -o crttbl.sql
九、恢复数据库
1、 db2 restore db btpdbs without rolling forward
db2 ? sqlcode (例:db2 ? sql0803) 注:code必须为4位数,不够4位,前面补0
十一、bind命令:将应用程序与数据库作一捆绑,每次恢复数据库后,建议都要做一次bind
(1) db2 bind br8200.bnd
(2) /btp/bin/bndall /btp/bnd
二、卸载数据:
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 -tvf crtdb.sql
crtdb.sql文件内容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql
db2move btpdbs import
十、DB2帮助命令:
db2 ?
db2 ? restroe
db2look -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sql --导出数据库中表1和表2的表结构
db2move <数据库名> export --导出数据库数据
db2move <数据库名> export -tn <表1>,<表2> --导出数据库中表和表数据
/btp/bin/bndall /btp/tran/bnd
十二、查看数据库参数:
db2 get dbm cfg
db2 get db cfg for btpdbs
十三、修改数据库参数:
db2 update db cfg for btpdbs using LOGBUFSZ 20
db2 list db directory 列出所有数据库
db2 list active databases 列出所有活动的数据库
db2 list tables for all 列出当前数据库下所有的表
关闭DB2服务: db2stop
一、加载数据:
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"
五、修改表中数据:
db2 "update svmmst set prtlines=0 where brhid='907010000' and jobtp='02'"
db2 "update svmmst set prtlines=0 where jobtp='02' or jobtp='03'"
总,以免遗忘。
注意:在执行如下命令时,需要首先安装db2客户端并通过在运行中输入db2cmd进行初始化
一、基础篇
1、db2 connect to <数据库名> --连接到本地数据库名
db2 connect to <数据库名> user <用户名> using <密码> --连接到远端数据库
2、 db2 force application all --强迫所有应用断开数据库连接
3、db2 backup db db2name<数据库名称& <db2name> --还原数据库
六、联接数据库
db2 connect to btpdbs
七、清除数据库联接
db2 connect reset 断开数据库连接
db2 terminate 断开数据库连接
db2 force applications all 断开所有数据库连接
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 list tablespaces show detail 查看当前数据库表空间分配状况
db2 list tablespace containers for 2 show detail 查看tablespace id=2使用容器所在目录
db2 list application
db2 "select oprid,oprnm,brhid,passwd from btpoper"
四、删除表中数据:
db2 "delete from btpoper"
db2 "delete from btpoper where brhid='907020000' or brhid='907010000'"
7、db2 catalog 命令
db2 catalog tcpip node <接点名称> remote <远程数据库地址> server <端口号> --把远程数据库映射到本地接点一般为50000