DB2常用指令集合
一、載入資料:
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"
二、解除安裝資料:
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'"
三、查詢資料結構及資料:
db2 "select * from btpoper"
db2 "select * from btpoper where brhid='907020000' and oprid='0001'"
db2 "select oprid,oprnm,brhid,passwd from btpoper"
四、刪除表中資料:
db2 "delete from btpoper"
db2 "delete from btpoper where brhid='907020000' or brhid='907010000'"
五、修改表中資料:
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 connect to btpdbs
七、清除資料庫聯接
db2 connect reset 斷開資料庫連線
db2 terminate 斷開資料庫連線
db2 force applications all 斷開所有資料庫連線
八、備份資料庫
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
2、 db2 -tvf crtdb.sql
crtdb.sql檔案內容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql
db2move btpdbs import
十、DB2幫助命令:
db2 ?
db2 ? restroe
db2 ? sqlcode (例:db2 ? sql0803) 注:code必須為4位數,不夠4位,前面補0
十一、bind命令:將應用程式與資料庫作一捆綁,每次恢復資料庫後,建議都要做一次bind
(1) db2 bind br8200.bnd
(2) /btp/bin/bndall /btp/bnd
/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 update db cfg for btpdbs using LOGFILSIZ 5120
改完後,應執行以下命令使其生效:
db2 stop
db2 start
補充:
db2 set schema btp 修改當前模式為"btp"
db2 list tablespaces show detail 檢視當前資料庫表空間分配狀況
db2 list tablespace containers for 2 show detail 檢視tablespace id=2使用容器所在目錄
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 all
db2 "import from tab76.ixf of ixf commitcount 5000 insert into achact"
db2 "create table achact_t like achact"
db2 "rename table achact_t to achact"
db2 "insert into achact_t select * from achact where txndt>=(select lstpgdt from
acmact where actno=achact.actno)"
db2 get snapshot for dynaimic sql on jining
刪除一個例項:
# cd /usr/lpp/db2_07_01/instance
# ./db2idrop InstName
列出所有DB2例項:
# cd /usr/lpp/db2_07_01/bin
# ./db2ilist
為資料庫建立編目
$ db2 catalog db btpdbs on /db2catalog
取消已編目的資料庫btpdbs
$ db2 uncatalog db btpdbs
檢視版本
# db2level
顯示當前資料庫管理例項
$ db2 get instance
設定例項系統啟動時是否自動啟動。
$ db2iauto -on 自動啟動
$ db2iauto -off 不自動啟動
常用命令:
1.啟動例項(db2inst1):
db2start2.停止例項(db2inst1):
db2stop
3. 列出所有例項(db2inst1)
db2ilist
4.列出當前例項:
db2 get instance
5. 設定當前例項
set db2instance=db2
6. 察看示例配置檔案:
db2 get dbm cfg|more
7. 更新資料庫管理器引數資訊:
db2 update dbm cfg using para_name para_value
8. 建立資料庫:
db2 create db test
9. 察看資料庫配置引數資訊
db2 get db cfg for test|more
10. 更新資料庫引數配置資訊
db2 update db cfg for test using para_name para_value
11.刪除資料庫:
db2 drop db test
12.連線資料庫與斷開連線資料庫
db2 connect to test
db2 disconnect test
13.列出所有表空間的詳細資訊。
db2 list tablespaces show detail
14.列出容器的資訊
db2 list tablespace containers for tbs_id show detail
15.建立表:
db2 ceate table tb1(id integer not null,name char(10))
16.列出所有表
db2 list tables
17.插入資料:
db2 insert into tb1 values(1,’sam’);
db2 insert into tb2 values(2,’smitty’);
18.查詢資料:
db2 select * from tb1
19.刪除資料:
db2 delete from tb1 where id=1
20.建立索引:
db2 create index idx1 on tb1(id);
21.建立檢視:
db2 create view view1 as select id from tb1
22.查詢檢視:
db2 select * from view1
23.節點編目
db2 catalog tcp node node_name remote server_ip server server_port
24.察看埠號
db2 get dbm cfg|grep SVCENAME
25.測試節點的附接
db2 attach to node_name
26.察看本地節點
db2 list node direcotry
27.節點反編目
db2 uncatalog node node_name
28.資料庫編目
db2 catalog db db_name as db_alias at node node_name
29.察看資料庫的編目
db2 list db directory
30.連線資料庫
db2 connect to db_alias user user_name using user_password
31.資料庫反編目
db2 uncatalog db db_alias
32.匯出資料
db2 export to myfile of ixf messages msg select * from tb1
33.匯入資料
db2 import from myfile of ixf messages msg replace into tb1
34.匯出資料庫的所有表資料
db2move test export
35.生成資料庫的定義
db2look -d db_alias -a -e -m -l -x -f -o db2look.sql
36.建立資料庫
db2 create db test1
37.生成定義
db2 -tvf db2look.sql
38.匯入資料庫所有的資料
db2move db_alias import
39.重組檢查
db2 reorgchk
40.重組表tb1
db2 reorg table tb1
41.更新統計資訊
db2 runstats on table tb1
42.備份資料庫test
db2 backup db test
43.恢復資料庫test
db2 restore db test
44. 命令處理器引數
列舉可用命令格式:db2 list command options
更改命令格式:update command options using option value(on/off)
例項:比如更改命令列自動提交的引數
db2=>update command options using C off--或on,只是臨時改變
命令列下 db2set db2options=+c --或-c,永久改變
45. 獲取當前機器db2所有配置資訊:
db2support . -d dbname -c
此時資料庫管理程式將生成一個db2support 壓縮檔案包。
46. 更新資料庫版本級別(適用於使用不通版本備份恢復時使用)
v7: db2updv7
db2updv7 –d dbname –u username –p password
v8: db2updv8
db2updv7 –d dbname –u username –p password
47. 獲取當前機器的管理級配置
db2set –all
48. 強制終止指定連線
db2 force application appname
49.強制終止所用連線
db2 force application all
附:一些具體使用例項
//建立資料庫DB2_GCB
CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB
USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32
//連線資料庫
connect to sample1 user db2admin using 8301206
//建立別名
create alias db2admin.tables for sysstat.tables;
CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS
create alias db2admin.columns for syscat.columns;
create alias guest.columns for syscat.columns;
//建立表
create table zjt_tables as
(select * from tables) definition only;
create table zjt_views as
(select * from views) definition only;
//插入記錄
insert into zjt_tables select * from tables;
insert into zjt_views select * from views;
//建立檢視
create view V_zjt_tables as select tabschema,tabname from zjt_tables;
//建立觸發器
CREATE TRIGGER zjt_tables_del
AFTER DELETE ON zjt_tables
REFERENCING OLD AS O
FOR EACH ROW MODE DB2SQL
Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10))
//建立唯一性索引
CREATE UNIQUE INDEX I_ztables_tabname
ON zjt_tables(tabname);
//檢視錶
select tabname from tables
where tabname='ZJT_TABLES';
//檢視列
select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 型別,LENGTH as 長度
from columns
where tabname='ZJT_TABLES';
//檢視錶結構
db2 describe table user1.department
db2 describe select * from user.tables
//檢視錶的索引
db2 describe indexes for table user1.department
//檢視檢視
select viewname from views
where viewname='V_ZJT_TABLES';
//檢視索引
select indname from indexes
where indname='I_ZTABLES_TABNAME';
//檢視存貯過程
SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)
FROM SYSCAT.PROCEDURES;
//型別轉換(cast)
ip datatype:varchar
select cast(ip as integer)+50 from log_comm_failed
//重新連線
connect reset
//中斷資料庫連線
disconnect db2_gcb
//view application
LIST APPLICATION;
//kill application
FORCE APPLICATION(0);
db2 force applications all (強迫所有應用程式從資料庫斷開)
//lock table
//獨佔
lock table test in exclusive mode
//共享
lock table test in share mode
//顯示當前使用者所有表
list tables
//列出所有的系統表
list tables for system
//顯示當前活動資料庫
list active databases
//檢視命令選項
list command options
//系統資料庫目錄
LIST DATABASE DIRECTORY
//表空間
list tablespaces
//表空間容器
LIST TABLESPACE CONTAINERS FOR
Example: LIST TABLESPACE CONTAINERS FOR 1
//顯示使用者資料庫的存取許可權
GET AUTHORIZATIONS
//啟動例項
DB2START
//停止例項
db2stop
//表或檢視特權
grant select,delete,insert,update on tables to user
grant all on tables to user WITH GRANT OPTION
//程式包特權
GRANT EXECUTE
ON PACKAGE PACKAGE-name
TO PUBLIC
//模式特權
GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER
//資料庫特權
grant connect,createtab,dbadm on database to user
//索引特權
grant control on index index-name to user
//資訊幫助 (? XXXnnnnn )
例:? SQL30081
//SQL 幫助(說明 SQL 語句的語法)
help statement
例如,help SELECT
SQLSTATE 幫助(說明 SQL 的狀態和類別程式碼)
? sqlstate 或 ? class-code
//更改與“管理伺服器”相關的口令
db2admin setid username password
//建立 SAMPLE 資料庫
db2sampl
db2sampl F:(指定安裝盤)
//使用作業系統命令
! dir
//轉換資料型別 (cast)
SELECT EMPNO, CAST(RESUME AS VARCHAR(370))
FROM EMP_RESUME
WHERE RESUME_FORMAT = 'ascii'
//要執行 DB2 Java 儲存過程或 UDF,還需要更新伺服器上的 DB2 資料庫管理程式配置,以包括在該機器上安
裝 JDK 的路徑
db2 update dbm cfg using JDK11_PATH d:sqllibjavajdk
TERMINATE
update dbm cfg using SPM_NAME sample
//檢查 DB2 資料庫管理程式配置
db2 get dbm cfg
//檢索具有特權的所有授權名
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTH
ORDER BY GRANTEE, GRANTEETYPE, 3
create table yhdab
(id varchar(10),
password varchar(10),
ywlx varchar(10),
kh varchar(10));
create table ywlbb
(ywlbbh varchar(8),
ywmc varchar(60))
//修改表結構
alter table yhdab ALTER kh SET DATA TYPE varchar(13);
alter table yhdab ALTER ID SET DATA 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');
//業務型別說明
insert into ywlbb values
('user01','業務申請'),
('user02','業務撤消'),
('user03','費用查詢'),
('user04','費用自繳'),
('user05','費用預存'),
('user06','密碼修改'),
('user07','發票列印'),
('gl01','改使用者基本資訊'),
('gl02','更改支付資訊'),
('gl03','日統計功能'),
('gl04','沖帳功能'),
('gl05','對帳功能'),
('gl06','計費功能'),
('gl07','綜合統計')
說明 目錄檢視
檢查約束 SYSCAT.CHECKS
列 SYSCAT.COLUMNS
檢查約束引用的列 SYSCAT.COLCHECKS
關鍵字中使用的列 SYSCAT.KEYCOLUSE
資料型別 SYSCAT.DATATYPES
函式引數或函式結果 SYSCAT.FUNCPARMS
參考約束 SYSCAT.REFERENCES
模式 SYSCAT.SCHEMATA
表約束 SYSCAT.TABCONST
表 SYSCAT.TABLES
觸發器 SYSCAT.TRIGGERS
使用者定義函式 SYSCAT.FUNCTIONS
檢視 SYSCAT.VIEWS
二進位制大物件 (BLOB) 字串。
字元大物件 (CLOB) 字串,它的字元序列可以是單位元組字元或多位元組字元,或這兩者的組合。
雙位元組字元大物件 (DBCLOB) 字串,它的字元序列是雙位元組字元。
第一種規範形式
表中的每一行和每一列均有一個值,永遠不會是一組值。
第二種規範形式
不在關鍵字中的每一列提供取決於整個關鍵字的事實。
第三種規範形式
每個非關鍵字列提供與其他非關鍵字列無關並只取決於該關鍵字的事實。
第四種規範形式
沒有行包含有關一個實體的兩個或更多個獨立的多值事實。
資料型別 型別 特性 示例或範圍
CHAR(15) 定長字串 最大長度為 254 'Sunny day '
VARCHAR(15) 變長字元 最大長度為 4000 'Sunny day'
SMALLINT 數字 長度為 2 位元組精度為 5 位範圍為-32768 至 32767
INTEGER 數字 長度為 4 位元組精度為 10 位範圍為-2147483648 至 2147483647
REAL 數字 單精度浮點32 位近似值 範圍為 -3.402E+38 至-1.175E-37或 1.175E-37 至-3.402E+38或零
DOUBLE 數字 雙精度浮點64 位近似值 範圍為-1.79769E+308 至-2.225E-307或 2.225E-307 至 1.79769E+308
或零
DECIMAL(5,2) 數字 精度為 5小數位為 2 範圍為 -10**31+1 至 10**31-1
DATE 日期時間 三部分值 1991-10-27
TIME 日期時間 三部分值 13.30.05
TIMESTAMP 日期時間 七部分值 1991-10-27-13.30.05.000000
列函式
列函式對列中的一組值進行運算以得到單個結果值。下列就是一些列函式的示例。
AVG
返回某一組中的值除以該組中值的個數的和
COUNT
返回一組行或值中行或值的個數
MAX
返回一組值中的最大值
MIN
返回一組值中的最小值
標量函式
標量函式對值進行某個運算以返回另一個值。下列就是一些由DB2 通用資料庫提供的標量函式的示例。
ABS
返回數的絕對值
HEX
返回值的十六進位制表示
LENGTH
返回自變數中的位元組數(對於圖形字串則返回雙位元組字元數。)
YEAR
抽取日期時間值的年份部分
[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25067344/viewspace-1048761/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 常用的DB2命令DB2
- 常用函式集合函式
- ORACLE集合常用方法Oracle
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- linux下db2建庫指令碼pagesize>4k及常用監控LinuxDB2指令碼
- DB2常用命令DB2
- 常用的DB2管理命令DB2
- db2 常用命令DB2
- db2 入門常用操作DB2
- 常用集合的原理分析
- Android 常用框架集合Android框架
- 常用Function大集合Function
- db2巡檢小指令碼DB2指令碼
- DB2多次抓取快照指令碼DB2指令碼
- npm常用指令NPM
- Dockerfile常用指令Docker
- Git 常用指令Git
- ubuntu常用指令Ubuntu
- git常用指令Git
- Sybase 常用指令
- 常用 Git 指令Git
- 【vue】常用指令Vue
- 常用指令碼指令碼
- mongodb 常用指令MongoDB
- Windows常用指令Windows
- 【Java集合】單列集合Collection常用方法詳解Java
- db2常用命令大全DB2
- 常用Java集合類總結Java
- java String 常用方法集合Java
- 常用控制元件類集合控制元件
- Oracle常用sql語法集合OracleSQL
- 常用的方便指令
- vue之常用指令Vue
- Docker 常用操作指令Docker
- SQLServer 常用指令碼SQLServer指令碼
- MySQL 常用指令碼MySql指令碼
- 常用的git指令Git
- dba常用指令碼指令碼