IBM DB2 V9 常用命令

    首先假设已安装好DB2 V9数据库管理系统.接下来看一看如何使用DB2.

        开始菜单-->运行-->db2cw --进入非交互模式
        运行-->db2cmd --同上
        
在非交互模式输入db2进入交互模式
        在交互模式输入quit进入非交互模式

    接下来介绍一些常用的命令,这里以在交互模式下为例(非交互模式下只需在命令前加个'db2 '即可, 但带'!'需先把'!'去掉):

        !db2ilist                                      --列出所有的实例
        !db2icrt 实例名                             --如:!db2icrt SY,这样会在D:\Program Files\IBM\SQLLIB目录下会多出名为"SY"的目录
        !db2idrop 实例名                          --同样若执行!db2idrop SY,则会删除上述目录
        get instance                                --显示当前的实例,即当前的数据库管理器
        get dbm cfg                                --获取实例的配置参数
        db2stop                                     --停止默认的实例,相应的服务也会被停止. = start database manager
        db2start                                     --启动默认的实例,相应的服务也会被启动 = stop database manager 
                                                            注意:默认的实例在系统的环境变量中定义,如:DB2INSTANCE=DB2
        !net stop 实例名                           --同db2stop,不过可以指定实例名
        !net start 实例名                          --同db2start,不过可以指定实例名
        attach to 实例名                           --连接一个实例
        attach                                        --显示已连接的实例
        detach                                        --断开一个实例

        create database 数据库名              --创建一个数据库
        drop database 数据库名                --删除一个数据库
        list database directory                 --列出所有数据库
        list database directory on 目录名   --列出位于指定目录上的数据库
        connect                                     --显示当前已连接的数据库
        connect to 数据库名                     --连接到指定数据库
        list tables                                   --显示所有的表和视图

    导入SQL脚本:在非交互模式下,如:
        db2 -tvf D:DATAtest1.sql
        db2 -tvf D:DATAtest2.sql
        db2 commit work
    其中特别注意,第三行中的参数-tvf,解释如下,
        -f    读取输入文件
        -t    设置语句终止字符
        -v    回送当前命令
    如果文件中每个语句是直接以回车结尾,则用-vf即可,加上-t是表示没条语句以“;”结尾。

    查看表结构:交互模式下describe table 表名

    SQL相关:
        count(distinct 列名)
        decimal(列名,总位数,小数位数) --格式化数据
        union all --相当于并运算
        union --基本同上,但是去掉重复记录并按第一列作升序排序
        except all --相当于减运算
        except
        intersect all --相当于交运算
        intersect
        select * from 表名 join 表名 on 条件 --自然连接
        select * from 表名 left {outer} join 表名 on 条件
        select * from 表名 right {outer} join 表名 on 条件
        select * from 表名 full {outer} join 表名 on 条件

    最后再说明一下quit, terminate, connect reset的区别:


db2bp.exe为一后台进程,在Windows任务管理器中可查看到









原文地址:https://www.cnblogs.com/suyang/p/1148737.html