日子光长叶,不开花......

发布新日志

  • SQL-----Number Functions(四)

    2010-09-14 10:42:27

    1.Round(60.455,2)----四舍五入取两位小数   60.46
     
    2.Trunc(60.455,2)----取两位小数    60.45
     
    3.Mod(100,3)-----求余     1
  • SQL---Single_Row Functions(三)

    2010-09-14 10:38:06

    1.Substr(columnname,1,5)---从第一个开始取,渠道第五个字符;


    2.Lower(columnname)---转换成小写;


    3.Upper(columnname)---转换成大写;


    4.Initcap(columnname)---第一个字母转换成大写,其余小写;


    5.concat(columnname1,columnname2)---将两个字段合并在一起;


    6.Length(columnname)---统计出字段字符串长度;


    7.Instr(columnname,'u')---'u'所在位置;


    8.Lpad(columnname,10,'*')---总共10位数,没有十位数的向前面补'*';


    9.Rpad(columnname,10,'*')---总共10位数,没有十位数的向后面补'*';

    10.Trim('u' from columnname)---截取字符;

  • Writing Basic SQL Select Statements(二)

    2010-09-14 10:27:48

    已经很久没写SQL了,该忘记的都忘记了,如今回顾总结一下:

    1.like----模糊查询
    select * from [tablename] where [columnname] like '%"+char+"%'


    2.distinct----压缩重复值
    select distinct [columnname] from [tablename];


    3.Between...and...-----取两者之间的值
    select * from [tablename] where [columnname] between 40 and 50;


    4.In(set)----离散的取值
    select * from [tablename] where [columnname] in('1','2');


    5.Order by ----排序
    select * from [tablename] where [Condition] order by [columnname];


    6.Group by ----分组
    select [columnname1],sum([columnname2]) from [tablename] where [Condition] group by [columnname1];


    7.Having----对函数产生的值设定条件
    select [columnname1],sum([columnname2]) from [tablename] where [Condition] group by [columnname1] Having sum([columnname2])>100;

  • DB2常用命令

    2008-10-14 10:48:20

    DB2数据库导出表结构与导入、导出表数据
     
    方法一

    在控制中心的对象视图窗口中,选择所要导出表结构的数据表,按住Ctrl或Shift可多选,单击鼠标右键,选择->生成DDL即可。

    方法二

    第一步:打开DB2的命令行工具,在DB2安装目录的BIN文件夹下新建一个文件夹data,并且进入该目录。

    创建该目录: mkdir data
    进入该目录: cd data
    |

    第二步:导出表结构,命令行如下:
    db2look -d dbname -e -a -x -i username -w password -o ddlfile.sql


    执行成功之后,你会在刚才新建的文件夹下找到该sql文件。

    第三步:导出数据,命令行如下:
    db2move databasename export -u username -p password

     

    至此,导出数据结束。

    2导出表中数据

    export to [path(例:D:"TABLE1.ixf)] of ixf select [字段(例: * or col1,col2,col3)] from TABLE1;

    export to [path(例:D:"TABLE1.del)] of del select [字段(例: * or col1,col2,col3)] from TABLE1;

    导入表的数据

    import from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1;

    load from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1;

    load from [path(例:D:"TABLE1.ixf)] of ixf replace into TABLE1; // 装入数据前,先删除已存在记录

    load from [path(例:D:"TABLE1.ixf)] of ixf restart into TABLE1; // 当装入失败时,重新执行,并记录导出结果和错误信息

    import from [path(例:D:"TABLE1.ixf)] of ixf savecount 1000 messages [path(例:D:"msg.txt)] insert into TABLE1;// 其中,savecount表示完成每1000条操作,记录一次.

    存在自增长字段的数据导入:

    load from [path(例:D:"TABLE1.ixf)] of ixf modified by identityignore insert into TABLE1;// 加入modified by identityignore.

    解除装入数据时,发生的检查挂起.

    SET INTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;

    命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.

    另外,对load和import,字面上的区别是:装入和导入,但仍未理解两者之间的区别.

    只是性能上load显然优于import.(load 需要更多的权限)
    1.启动数据库
        db2start
    2.停止数据库
        db2stop
    3.连接数据库
        db2 connect to o_yd user db2 using pwd
    4.读数据库管理程序配置
        db2 get dbm cfg
    5.写数据库管理程序配置
        db2 update dbm cfg using 参数名 参数值
    6.读数据库的配置
        db2 connect to o_yd user db2 using pwd
        db2 get db cfg for o_yd
    7.写数据库的配置
        db2 connect to o_yd user db2 using pwd
        db2 update db cfg for o_yd using 参数名 参数值
    8.关闭所有应用连接
        db2 force application all
        db2 force application ID1,ID2,,,Idn MODE ASYNC
        (db2 list application for db o_yd show detail)
    9.备份数据库
        db2 force application all
        db2 backup db o_yd to d:
       (db2 initialize tape on \\.\tape0)
       (db2 rewind tape on \\.\tape0)
       db2 backup db o_yd to \\.\tape0
    10.恢复数据库
       db2 restore db o_yd from d: to d:
       db2 restore db o_yd from \\.\tape0 to d:
    11.绑定存储过程
       db2 connect to o_yd user db2 using pwd
       db2 bind c:\dfplus.bnd
     拷贝存储过程到服务器上的C:\sqllib\function目录中
    12.整理表
       db2 connect to o_yd user db2 using pwd
       db2 reorg table ydd
       db2 runstats on table ydd with distribution and indexes all
    13.导出表数据
        db2 export to c:\dftz.txt of del select * from dftz
        db2 export to c:\dftz.ixf of ixf select * from dftz
    14.导入表数据
    import from c:\123.txt of del  insert into ylbx.czyxx
    db2 import to c:\dftz.txt of del commitcount 5000 messages  c:\dftz.msg insert into dftz
    db2 import to c:\dftz.ixf of ixf commitcount 5000 messages c:\dftz.msg insert into dftz
    db2 import to c:\dftz.ixf of ixf commitcount 5000 insert into dftz
    db2 import to c:\dftz.ixf of ixf commitcount 5000 insert_update into dftz
    db2 import to c:\dftz.ixf of ixf commitcount 5000 replace into dftz
    db2 import to c:\dftz.ixf of ixf commitcount 5000 create into dftz   (仅IXF)
    db2 import to c:\dftz.ixf of ixf commitcount 5000 replace_create into dftz  (仅IXF)

    15.执行一个批处理文件
          db2 –tf 批处理文件名
         (文件中每一条命令用 ;结束)
    16.自动生成批处理文件
        建文本文件:temp.sql
        select 'runstats on table DB2.' || tabname || ' with distribution and  detailed indexes all;' from syscat.tables where
    tabschema='DB2' and type='T';
    db2 –tf temp.sql>runstats.sql
    17.自动生成建表(视图)语句
    在服务器上:C:\sqllib\misc目录中
    db2 connect to o_yd user db2 using pwd
    db2look –d o_yd –u db2 –e –p –c c:\o_yd.txt
    18.其他命令
    grant dbadm on database to user bb
    19
    select * from czyxx fetch first 1 rows only
    20
    db2look –d ylbx –u db2admin –w –asd –a –e –o a.txt
    21. 显示当前用户所有表
     list tables
    22. 列出所有的系统表
     list tables for system
    23. 查看表结构
    db2 describe select * from user.tables
    24. 查看死锁明细
    db2 get snapshot for locks on yourdatdabasename 
    用df -k命令看看是否有些文件系统没有空间.

     

  • SQL与数据库的关系

    2007-04-06 15:13:23

    SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。

    SQL Server

    SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT

    系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 则较专注于SQL Server在UNIX 操作系统上的应用在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server

    SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用
Open Toolbar