zoukankan      html  css  js  c++  java
  • 1.db2数据库基础篇

    第一节:数据类型

            可分为数值型(numeric)、字符串型(character string)、图形字符串(graphic string)、二进制字符串型(binary string)或日期时间型   (datetime)。还有一种叫做DATALINK的特殊数据类型。DATALINK值包含了对存储在数据库以外的文件的逻辑引用。

    类型 名称 范围 精度
    数值型
    SMALLINT(small int) 小整型 -32,768到32,767 5位
    INTEGER或INT 大整型 -2,147,483,648到2,147,483,647 10位
    BIGINT 巨整型 -9,223,372,036,854,775,808到9,223,372,036,854,775,807 19位
    DECIMAL(p,s)、DEC(p,s)、NUMBERIC(p,s)或NUM(p,s) 小数型 -10**31+1到10^**31-1。 31位
    REAL 单精度浮点数 -3.402E+38到-1.175E-37或从1.175E-37到3.402E+38 32位近似值
    DOUBLE或FLOAT 双精度浮点数 -1.79769E+308到-2.225E-307或从2.225E-307到1.79769E+308 64位近似值
    字符串
    CHARACTER(n)或CHAR(n) 定长字符串  1到254字节之间  默认1个字节
    VARCHAR(n)、CHARACTER VARYING(n)或CHAR VARYING(n) 变长字符串  最长可达32,672字节,LONG VARCHAR最长可达32,700字节。  
    CLOB(n) 字符大对象字符串  最长可以达到2,147,483,647字节  默认1个字节
    GRAPHIC(n) 定长图形字符串  长度介于1到127个双字节字符之间  
    VARGRAPHIC(n)、LONG VARGRAPHIC 变长图形字符串  最大长度可达16,336个双字节字符  
    DBCLOB(n) 双字节字符大对象字符串  最长可达1,073,741,823个字符,于容纳非传统型的数据,诸如图片、语音或混合媒体等,还可以容纳用户定义的类型及用户定义的函数的结构化数据  
    BLOB(n) 二进制大对象  二进制大对象是变长字符串,最长可达2,147,483,647字节  
        时间日期类型
    DATE    年份部分的范围是从0001到9999。月份部分的范围是从1到12。日部分的范围是从1到n,其中n的值取决于月份。DATE列长10个字节。  
    TIME   TIME是一个由三部分组成的值(小时、分钟和秒)。小时部分的范围是从0到24。分钟和秒部分的范围都是从0到59。如果小时为24,分钟和秒的值都是0。TIME列长8个字节。   
    TIMESTAMP   年份部分的范围是从0001到9999。月份部分的范围是从1到12。日部分的范围是从1到n,其中n的值取决于月份。小时部分的范围是从0到24。分钟和秒部分的范围都是从0到59。微秒部分的范围是从000000到999999。如果小时是 24,那么分钟值、秒的值和微秒的值都是0。TIMESTAMP列长26个字节。  

             

       

     

     

     

    第二节:表的基本操作

    1.创建表

    (1).建表时必须明确指明表空间/索引表空间

    (2).建表时必须指明分区键partitioning key,注意分区键的选择应当尽量使用值域大、值分布均匀的字段,比如phone_no等

          Create table tab_name(

              col1 int,

              col2 varchar(10)

           ) partitioning key(col1) in tbs_store index in tbs_idx not logged initially

    (3).可使用如下语句察看表数据是否分布均匀:

          select

              nodenumber(phone_no), 

              count(*)

               from tmp1_vgrp_inet_call

          group by nodenumber(phone_no)

    2.修改表的操作:

    (1)  增加一个列: Alter table tab_new_tmp3 add column phvarchar(11)

                注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度,只能增大:

            alter table tab_new_tmp3 alter column ph set data type varchar(20)

    (2)修改表名

              将表a改名为b,Rename a to b    此语句执行成功的前提是b表不存在

     (3)创建视图:

           create view viewname as select statement

            删除视图: drop view viewname

                   注:视图唯一能修改的是引用类型列,改变列的范围。

            其他定义好了都不能修改。当视图基于的基表drop后,视图变为无效。

    3.增删改查操作

       (1)插入行

      INSERT [INTO] {table_name} [(column_list)]

      VALUES {DEFAULT | value_list | select_statement}

      例如:insert into xxx(id,name) values(1,limingzhong);

       (2)更新行

      UPDATE table_name

      SET column_name = value [, column_name = value]

      [FROM table_name]

      [WHERE condition]

       (3)删除行

      DELETE [FROM table(s)] [WHERE condition]

       (4)查询

      SELECT * FROM table_name WHERE condition(s)

    4.union操作

         union all 不去掉重复行,union去掉重复行

         select id from user
             union
         select id from sms

    关于db2改表名的操作:rename st.tab_temp1 to tab_temp2   (新表名不能加前缀。经查询修改后的表名为:st.tab_temp2)

    我们不一样
  • 相关阅读:
    UOJ.26.[IOI2014]Game(交互 思路)
    Good Bye 2016 F.New Year and Finding Roots(交互)
    Codeforces.835E.The penguin's game(交互 按位统计 二分)
    Codeforces.744B.Hongcow's Game(交互 按位统计)
    Codeforces.862D.Mahmoud and Ehab and the binary string(交互 二分)
    正睿OI 提高 Day1T3 ZYB玩字符串(DP)
    划分vlan
    2三层交换机实现vlan间的路由
    交换机基础-交换机远程telnet
    自动化运维环境的搭建问题处理
  • 原文地址:https://www.cnblogs.com/bug-mark/p/7910140.html
Copyright © 2011-2022 走看看