`

db2

    博客分类:
  • Db2
阅读更多

//查看索引
select *  from SYSCAT.INDEXES  where TABNAME = 'IACMAIN';
SYSCAT为数据库默认的schema,INDEXES为此模式下的索引表,存放着db中所有的索引

索引一般使用内置函数或者where后面的语句是模糊查询的时候,则不会走索引,否则会走索引

 

在unix下实行sql语句的顺序

1:先通过xmanager输入ssh IP登入unix服务器

2:db2 connect to db //连入数据库

3:就是一些sql执行了,这里需要说明一下,当执行增删改查指令的时候,需要为db2  ""

     //DML

     <1>查询数据库目录:
             db2 list db directory
     <2>查询数据库中表
           db2 list tables 当前用户
           db2 list tables for all 所有表
         db2 list tables for schema schemaname 指定模式的表
     <3>显示表结构
           db2 describe table tablename

导入数据
     <4>导入数据 

          db2 "import from E:\name.txt of del insert into tableName"
          db2 "import from E:\name.ixf of ixf commitcount 5000 insert /create/replace into tableName"
          db2 "load client from D:\xx.txt of del insert/replace into tabName"(不需要写日志,但插入前表必须存在;不能create table)
          db2 "load client from D:\xx.txt of del restart/terminate into tabName" 当导入数据出现问题被强行中断时,此表会被加锁,通过此命令可以解锁
     <5>导出数据
             db2 "export to E:\name.txt of del select * from tableName"
             db2 "export to E:\name.txt of del MODIFIED BY NOCHARDEL select * from tableName"(导出不带分号的数据)
         导出表结构和数据
             db2 "export to E:\name.ixf of ixf MODIFIED BY NOCHARDEL select * from tableName"
             db2 "export to E:\name.ixf of ixf MODIFIED BY NOCHARDEL select * from tableName fetch first (取数+UNM) rows only"(取固定条数)
         导出表结构
             db2look -d dbName -e -t tableName -o D:\xxx.sql(path) -i userName -w password
             db2look -d dbName -z tabSchema -e -c -i userName -w password -o + 路径名
         导出存储过程结构
             db2 "export to xxx.sql of del select text from syscat.procedures where procname='大写存储过程名'"
      <6>查询表状态
          db2 load query table + tableName
      <7>查询当前表数据量(数据入库时)
          db2 select count(1) from tab with ur
      <8>修改当前表名、模式名
          db2 rename table tab1 to tab2

      <9>插入数据
           db2 insert into tablename(字段名,字段名...) values (与字段名一一对应的值)
           db2 insert into tablename1(字段1,字段2,字段3...)
         select 字段1,字段2,字段3...from tablename2 + 查询条件
      <10>更改表或视图数据
           db2 update tablename/viewname set 字段名1='',字段2='',...+查询条件
      <11>删除数据
             db2 delete from tablename where + 条件   
    

        //DDL

        <1>创建或删除实例
       db2icrt instance_name/db2idrop -f instance_name
       linux:db2icrt -u user_id instance_name
       <2>创建视图、表、模式
     db2 create view/table/schema
     创建指定用户的模式
     db2 create schema schName AUTHORIZATION userName
     db2 create schema AUTHORIZATION userName(没有指定模式名时,模式名隐含为用户名userName)
      定义含有缺省值的表
     db2 create table tableName(column1 数据类型,column2 数据类型 default '缺省值')
     基于已存在的表
     db2 create table clone_tablename like tablename
     db2 create table clone_tablename as (select * from tablename) definition only
     创建物化查询表(MQT)
     create table new_table_name as (select * from table_name) data initially deferred refresh deferred;
     refresh table new_table_name;
     注意:物化表类似一个查询,没有真正形成表,类型显示为Query。但它完全可以当表来用。
                  创建表并指定其索引表空间
                         db2 create table(.....) in userspace1 INDEX in userspace2
                         (userspace1是表所在空间,userspace2是表上索引所在空间)
    <3>创建视图
           db2 create view viewname
                as select 字段名1,字段名2...from table where + 条件
         with check option 规定一种约束:通过视图插入或更新的每一行都必须符合视图的定义,如:
         create view emp_view2(empno,empname,deptno) as (select id,name,dept from employee where dept=10)with check option
         当此视图用于更新数据或插入新值时,with check option 限制了dept列的输入值
    <4>修改表(列,主键,唯一约束,检查约束)
   1)添加新列 alter table tablename ADD COLUMN columnname 数据类型
   2)添加约束
   3)修改表中字段 alter table tablename alter columnname set data type 数据类型
   4) 添加主键 alter table tablename add primary key(c1,c2)
   <5>删除模式、表、视图
      drop schema schName <CASCADE|RESTRICT>
      CASCADE(级联)表示删除模式的同时删除该模式中所有的数据库对象
      RESTRICT(限制)表示该模式下定义了数据库对象时,限制删除;没有任何数据库对象时才能删除
   <6>重新组织表及其索引
      重组表数据  reorg table tableName index indexName(根据索引)
      重组表索引  reorg indexes all for table tableName
   <7>重新收集表及其索引统计信息
      runstats on table tableName for indexes all(跑批前重新收集所用表信息可以提高效率)
   <8>DB2自动增长主键方法
      IDENTITY列
        generated always as identity(start with 1,increment by 1)将一个字段指定为自增长型字段,放在数据类型后。
      SEQUENCE对象(序列)
    3、数据控制语言(DCL:grant,revoke)

    将表的特权授予用户
    grant select,update,delete on table tableName to user userName with grant option
    将包特权授予同组
    grant control on package packageName on group groupName with grant option


分享到:
评论

相关推荐

    db2数据库安装包、db2数据库安装驱动

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。本压缩包包含DB2数据库的安装包以及链接服务器驱动,对于理解DB2数据库的安装过程和使用至关重要。 首先,我们来详细了解DB2数据库...

    DB2 11.5版本 jdbc db2jcc db2jcc4驱动

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。在DB2 11.5版本中,JDBC(Java Database Connectivity)驱动是连接Java应用程序与DB2数据库的关键组件。JDBC驱动允许Java代码通过...

    DB2到GreenPlum/PostgreSQL的转换指南

    ### DB2到GreenPlum/PostgreSQL的转换指南 #### 1. 引言 ##### 1.1 目的 本指南旨在帮助用户理解从DB2迁移到GreenPlum或PostgreSQL过程中所涉及的关键技术和注意事项。由于这两种数据库系统之间存在显著差异,因此...

    DB2完全版(各种版本)

    根据提供的标题、描述以及部分内容,本文将详细介绍IBM DB2不同版本及其对应的补丁包资源链接。这不仅包括了必备补丁,还包含了可选的并存补丁,为用户提供了一个全面且灵活的选择空间来更新和维护其DB2数据库系统。...

    Java连接db2 数据库jar包 db2jcc.jar db2jcc_license_cu.jar

    Java连接IBM DB2数据库通常需要两个关键的JAR文件,即`db2jcc.jar`和`db2jcc_license_cu.jar`。这两个文件在Java应用程序中起着至关重要的作用,因为它们提供了Java连接DB2数据库所需的驱动程序。以下是关于这些文件...

    DB2 驱动包 db2jcc.jar db2jcc_javax.jar db2jcc_license_cu.jar

    在您提供的标题和描述中,提到了三个重要的JAR文件:“db2jcc.jar”,“db2jcc_javax.jar”和“db2jcc_license_cu.jar”,它们是DB2 Java JDBC驱动的一部分。 1. **db2jcc.jar**:这是DB2的JDBC网络通信类库,包含...

    db2驱动包,db2jcc.jar

    DB2驱动包,如"db2jcc.jar",是IBM DB2数据库系统与Java应用程序进行连接的关键组件。这个驱动程序实现了Java Database Connectivity (JDBC) API,允许Java程序员通过编写Java代码来访问和操作DB2数据库。在描述中...

    centos7安装db2

    在CentOS中,通过`groupadd`命令创建三个用户组`db2iadm1`、`db2fadm1`和`db2dadm1`,分别用于DB2实例管理员、DB2服务管理员和DB2数据库管理员。然后,通过`useradd`命令创建对应的用户,并指定家目录。 2. **解压...

    DB2数据库帮助类,包含IBM.Data.DB2.DLL文件

    DB2数据库是由IBM开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。在.NET环境中,如果要进行DB2数据库的操作,通常需要借助于特定的数据库连接组件,例如IBM.Data.DB2.DLL。这个DLL文件是IBM为...

    db2驱动( db2jcc4.jar+db2jcc_license_cu.jar).zip

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级的数据存储和管理。在Java应用程序中,为了连接到DB2数据库,我们需要使用特定的驱动程序,这就是db2jcc4.jar和db2jcc_license_cu.jar这两个文件的...

    db2jcc_license_cu/db2java/db2jcc

    标题中的"db2jcc_license_cu/db2java/db2jcc"揭示了这些文件与IBM的DB2数据库连接器有关,特别是Java版本的驱动程序。DB2是IBM提供的一款关系型数据库管理系统,广泛用于企业级的数据存储和管理。在Java环境中,为了...

    db2jcc和db2jcc4.rar

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级的数据存储和管理。在Java应用程序中连接到DB2数据库时,通常需要使用特定的Java数据库连接(JDBC)驱动程序,这就是“db2jcc”和“db2jcc4”的作用。...

    Ubuntu DB2的安装

    ### Ubuntu DB2 的安装知识点详解 #### 一、概述 在本篇文章中,我们将详细介绍如何在 Ubuntu 操作系统上安装 IBM DB2 数据库系统。DB2 是一款功能强大的数据库管理系统,支持多种高级特性如存储过程、触发器以及...

    DB2架包db2jcc.jar、db2jcc_license_cu.jar、db2jcc4.jar文件

    DB2是一款由IBM开发的关系型数据库管理系统,广泛应用于企业级数据存储和管理。在Java应用程序中与DB2交互时,通常需要使用特定的驱动程序,这些驱动程序以JAR(Java Archive)文件的形式存在。标题中提到的"db2jcc....

    db2数据库驱动9.7jar包

    DB2数据库驱动9.7版的jar包是Java开发者用于连接IBM DB2数据库的重要组件。在Java编程环境中,为了能够与DB2数据库进行交互,如执行SQL查询、更新数据或管理数据库对象,需要引入特定的驱动程序。在这个案例中,我们...

    命令行登录db2数据库

    在IT行业中,数据库管理系统是核心组成部分之一,而IBM的DB2是企业级广泛使用的数据库解决方案。本文将深入探讨如何通过命令行界面登录到DB2数据库,这对于系统管理员和开发人员来说是一项基本技能。 首先,我们...

    db2驱动程序 db2jcc.jar db2jcc_license_cu.jar db2jcc_license_cisuz.jar

    在Java应用程序中连接到DB2数据库时,通常需要使用特定的驱动程序,这就是db2jcc.jar、db2jcc_license_cu.jar和db2jcc_license_cisuz.jar这三份文件的作用。 首先,db2jcc.jar是DB2 JDBC(Java Database ...

    db2数据库驱动程序 db2jcc.jar、db2jcc_license_cu.jar

    DB2数据库驱动程序是连接IBM DB2数据库的关键组件,它允许Java应用程序通过JDBC(Java Database Connectivity)接口与DB2数据库进行通信。在提供的压缩包中,有两个重要的JAR文件:db2jcc.jar和db2jcc_license_cu....

    db2数据库驱动9.7jar包(全) db2jcc.jar+db2jcc_license_cu.jar

    DB2是IBM公司开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。9.7版本是DB2的一个重要版本,提供了许多增强的功能和性能优化。本压缩包包含两个关键的Java数据库连接(JDBC)驱动文件:`db2jcc....

    db2注册文件,db2lic

    db2licm 命令提供了添加、移除、列示和修改本地系统上安装的许可证功能。 db2licm [-a filename]  [-e HARD | SOFT]  [-p prod-password  REGISTERED | CONCURRENT |  INTERNET | MEASURED]  [-r prod-password...

Global site tag (gtag.js) - Google Analytics