【金审工程】DB2数据库的基本使用知识


前提条件:  当前机器已经安装DB2服务器软件版本,启动命令行窗口(开始->运行  中输入:  db2cmd)
创建实例:db2icrt    install_name
创建数据库:db2  create  db  db_name
停止数据库:db2stop  force
重启数据库:db2start
断开所有数据库连接:  db2  disconnect  all
察看当前实例的所有数据库:  db2  list  db  directory
 
一、常用命令 

  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; 
16.  类型转换(cast) 

  ip  datatype:varchar 
  select  cast(ip  as  integer)+50  from  log_comm_failed 

  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:sqllibjavajdk 
  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.  业务类型说明 

  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 

  抽取日期时间值的年份部分

[发布时间:2007-01-31]

本地审计网站:扬州市 广陵区 维扬区 邗江区 宝应县 江都市 仪征市 高邮市

Copyright©2006 扬州市邗江区审计局

地址:江苏省扬州市邗江中路465号; 邮编:225009; 电话:0514-7987169;传真:0514-7982224;E-mail:sjj@hj.gov.cn