DB2有自带的命令中心
DB2有自带的命令中心,但是命令中心没有关键字颜色提示,建议使用Quest Central for db2
常用命令列表:
1.?建立数据库DB2_GCB? CREATE?DATABASE?DB2_GCB?ON?G:?ALIAS?DB2_GCB?USING?CODESET?GBK?TERRITORY?CN?COLLATE?USING?SYSTEM?DFT_EXTENT_SZ?32? 2.?连接数据库? connect?to?sample1?user?db2admin?using?8301206? 3.?建立别名? 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;? 4.?建立表? 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.?建立视图? create?view?V_zjt_tables?as?select?tabschema,tabname?from?zjt_tables;?????7.?建立触发器? 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))?
8.?建立唯一性索引? CREATE?UNIQUE?INDEX?I_ztables_tabname?
ON?zjt_tables(tabname);?
9.?查看表? select?tabname?from?tables? where?tabname='ZJT_TABLES';? 10.?查看列? select?SUBSTR(COLNAME,1,20)?as?列名,TYPENAME?as?类型,LENGTH?as?长度? from?columns? where?tabname='ZJT_TABLES';?
11.?查看表结构? db2?describe?table?user1.department?
db2?describe?select?*?from?user.tables?
12.?查看表的索引? db2?describe?indexes?for?table?user1.department?
13.?查看视图? select?viewname?from?views? where?viewname='V_ZJT_TABLES';?
14.?查看索引? select?indname?from?indexes? where?indname='I_ZTABLES_TABNAME';?
15.?查看存贮过程? SELECT?SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)? FROM?SYSCAT.PROCEDURES;?
?
17.?重新连接? connect?reset?
18.?中断数据库连接?
disconnect?db2_gcb?
19.?view?application?
LIST?APPLICATION;?
20.?kill?application?
FORCE?APPLICATION(0);? db2?force?applications?all?(强迫所有应用程序从数据库断开)?
21.?lock?table
lock?table?test?in?exclusive?mode?
22.?共享?
lock?table?test?in?share?mode?
23.?显示当前用户所有表?
list?tables?
24.?列出所有的系统表?
list?tables?for?system?
25.?显示当前活动数据库?
list?active?databases?
26.?查看命令选项?
list?command?options?
27.?系统数据库目录?
LIST?DATABASE?DIRECTORY?
28.?表空间?
list?tablespaces?
29.?表空间容器?
LIST?TABLESPACE?CONTAINERS?FOR? Example:?LIST?TABLESPACE?CONTAINERS?FOR?1?
30.?显示用户数据库的存取权限?
GET?AUTHORIZATIONS?
31.?启动实例?
DB2START?
32.?停止实例?
db2stop?
33.?表或视图特权?
grant?select,delete,insert,update?on?tables?to?user? grant?all?on?tables?to?user?WITH?GRANT?OPTION?
34.?程序包特权?
GRANT?EXECUTE? ON?PACKAGE?PACKAGE-name? TO?PUBLIC?
35.?模式特权?
GRANT?CREATEIN?ON?SCHEMA?SCHEMA-name?TO?USER?
36.?数据库特权?
grant?connect,createtab,dbadm?on?database?to?user?
37.?索引特权?
grant?control?on?index?index-name?to?user?
38.?信息帮助?(??XXXnnnnn?)?
例:??SQL30081?
39.?SQL?帮助(说明?SQL?语句的语法)?
help?statement? 例如,help?SELECT? 40.?SQLSTATE?帮助(说明?SQL?的状态和类别代码)?
??sqlstate?或???class-code?
41.?更改与"管理服务器"相关的口令? db2admin?setid?username?password?
42.?创建?SAMPLE?数据库?
db2sampl? db2sampl?F:(指定安装盘)?
43.?使用操作系统命令?
!?dir?
44.?转换数据类型?(cast)?
SELECT?EMPNO,?CAST(RESUME?AS?VARCHAR(370))? FROM?EMP_RESUME? WHERE?RESUME_FORMAT?=?'ascii'?
45.?UDF
要运行?DB2?Java?存储过程或?UDF,还需要更新服务器上的?DB2?数据库管理程序配置,以包括在该机器上安装?JDK?的路径?
db2?update?dbm?cfg?using?JDK11_PATH?d:\sqllib\java\jdk? TERMINATE? update?dbm?cfg?using?SPM_NAME?sample?
46.?检查?DB2?数据库管理程序配置? db2?get?dbm?cfg?
47.?检索具有特权的所有授权名?
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))?
48.?修改表结构?
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');?
49.增加licence
? db2licm -a path(如d:\DB2\db2udbee.lic)
?八.????? 附2:列函数
列函数对列中的一组值进行运算以得到单个结果值。下列就是一些列函数的示例。? AVG? 返回某一组中的值除以该组中值的个数的和?
COUNT? 返回一组行或值中行或值的个数?
MAX? 返回一组值中的最大值?
MIN? 返回一组值中的最小值?九.????? 附3:标量函数
标量函数对值进行某个运算以返回另一个值。下列就是一些由DB2?通用数据库提供的标量函数的示例。? ABS? 返回数的绝对值?
HEX? 返回值的十六进制表示?
LENGTH? 返回自变量中的字节数(对于图形字符串则返回双字节字符数。)?
YEAR? 抽取日期时间值的年份部分?
二进制大对象?(BLOB)?字符串。?
字符大对象?(CLOB)?字符串,它的字符序列可以是单字节字符或多字节字符,或这两者的组合。?
双字节字符大对象?(DBCLOB)?字符串,它的字符序列是双字节字符。?
数据库范式
第一种规范形式:表中的每一行和每一列均有一个值,永远不会是一组值。?
第二种规范形式:不在关键字中的每一列提供取决于整个关键字的事实。?
第三种规范形式:每个非关键字列提供与其他非关键字列无关并只取决于该关键字的事实。?
第四种规范形式:没有行包含有关一个实体的两个或更多个独立的多值事实。?十.????? DB2重装
1.打开控制面板选择添加删除程序中,卸掉DB2应该程序。
2.DB2在安装后会在安装目录相应的盘下生成一个DB2的文件夹,如:C:\DB2\NODE0000(安装在D盘就为:D:\DB2\NODE0000),卸载后应用程序后,再删除NODE0000文件就可以了,不如不删NODE0000,重装时会报错,而且重装后DB2跑不起来
?
http://www.blogjava.net/0734w/articles/38584.aspx