服务器 频道

DB2数据库使用经验漫谈

【IT168 服务器学院】DB2数据库使用

  DML(Data Manipulation Language commands)数据操纵语言
  DDL(Data Definition Language commands)  数据定义语言
  TCC(Transaction Control commands)       事务控制语言
  SCC(System Control commands )           系统控制语言
 
  一  DML数据操纵语言
 
  (一)数据查询命令
  
  select <查询内容>    From  <表名>
  where <条件>    /*in,between,like%或_*/
  group by<分组内容>
  having<组内条件>
  order by<排序内容>[asc/desc];
 
  (二)数据更新命令
 
  1、数据插入命令
   
(1).具体的值插入表中
           Insert into <表名> [(列名表)] 
               values<值表1>,<值表2>,<值表2>...
       (注: 日期,字符型值加引号)
      (2).将其它表满足条件的数据插入到一个表中
          Insert into <表名> [<列表名>] <select 子句>

  2、数据修改命令

  Update <表名> set <列名1>=<表达式1>,<列名2>=<表达式2>...[where<条件>];

  Update <表名> set <列名1>=(< select 子句 >) [where<条件>];

  3、数据删除命令

  Delete from <表名> [where<条件>];
 
  二  DDL数据定义语言
 
  (一)、基本数据类型
  1.字符串
  字符串为一个字节序列,字符串的长度为序列中的字节数。如果长度为零,则该字符串的值称为空字符串。
   
  CHAR(x)       是固定长度字符串。(1=
  VARCHAR(x)   可变长度字符 x<=4000,x>254不能用group by ,order by,distinct 和除                
  union all以外的任何设置操作。
 
  GRAPHIC(x)    是固定图形字符串。(1=
  BLOB          二进制字符串,是一个字节序列,用于保存非传统数据,如图象、图形、声音等数据。
 
  2 数字 :所有数字都有符号和精度。精度是除开符号的位数或数字数。
 
  SMALLINT     小整数,是精度为5位的两字节整数。
  INTEGER       大整数,是精度为10位的四字节整数。
  REAL          单精度浮点数,是实数的32位近似值。
  DOUBLE       双精度浮点数,是实数的64位近似值,DOUBLE也称FLOAT。
  DECIMAL(p,s)   DECIMAL是一个十进制数。小数点的位置由数字的 精度(p)和小数位(s)        
  确定。精度是数字的总位数,必须小于32。小数位是小数部分数字的位数且总是小于或等于精度值。如果未指定精度和小数位,则十进制值的缺省精度为5,缺省小数位为0。

3 日期时间值 :日期时间值是日期、时间以及时间戳记的表示,日期时间值可以用于某些算术运算和字符串运算并且与某些字符串是相容的。

 
  DATE          由三个部分构成(年、月以及日)。
  TIME          使用24小时制,分为三个部分(小时、分钟以及秒)。
  IMESTAMP     分为七个部分(年、月、日、小时、分钟、秒以及微秒)。
 
  4空值         空值是一个区别于所有非空值的特殊值。它意味着行中的那一列无任何其
  它值。所有数据类型都存在空值。
 
  (二)、数据定义
    1、Create (创建)
  创建表:
  Create  table  [<模式名>.]<表名>   (<列名1> <类型> [Null|Not null] [,<列
             名2> <类型>...]
  创建视图:       
        Create  view  [<模式名>.]<视图名>  [<列名表>]  as select 语句
  创建别名:    
        Create  alias  [<模式名>.]别名 for  [<模式名>.]表名/视图名/别名
  创建索引:
        Create  [unique] index <索引名> /*I_表名_字段名*/  on <表名>(<列名
             >[asc|desc]
  创建模式:
        Create schema 模式名 authorization 权限名
 
   2、Drop (摧毁)
  摧毁表:
        drop table  [<模式名>.]表名
  摧毁视图:
        drop view  [<模式名>.]视图名
  摧毁别名:
        drop alias  [<模式名>.]别名
  摧毁触发器:
        drop trigger [<模式名>.]触发器名
  摧毁索引:
        drop index  [<模式名>.]<索引名>
  摧毁包:
        drop package  [<模式名>.]包名
 
  3、Alter (变更)
  增加表列:
  Alter table [<模式名>.]<表名> add column [<列名1> <类型> [Null|Not null]]...
  增加约束:  
        Alter table [<模式名>.]<表名> add constraint 列名 CHECK (约束)        
  删除约束:
        Alter table [<模式名>.]<表名> drop constraint 约束名         
  修改列类型:
        Alter table [<模式名>.]<表名> alter column 列名 set  data type <类型>
   
  4、Grant (赋权)
  对[public/用户/组] 赋于在表上的[all/select/insert/update/delete] 权限:
        Grant [all/select/insert/update/delete] on [<模式名>.]表名to [public/用户/ 
              组];
  对[public/用户/组] 赋于在包上的[bind/execute/]权限:        
        Grant [bind/execute/] on  package [<模式名>.][包名] to [public/用户/组];     
  对[public/用户/组] 赋于在索引上的[control]权限:
        Grant control on index [<模式名>.]索引名 to [public/用户/组]
 
  5、Revoke (回收)
  从public/用户/组] 回收在表上的[all/select/insert/update/delete] 权限:        
        Revoke [all/select/insert/update/delete] on [表名] from [public/用户/组];
  从public/用户/组] 回收在包上的[bind/execute/] 权限:
        Revoke  [bind/execute/] on package [<模式名>.][包名]from [public/用户/组];

  事务控制语言

   
    1.事务提交命令: Commit;
    2.事务回退命令: Rollback;
 
  四 系统控制语言
 
  1.取消自动提交:
      Update command options using c off;
  2.连接数据库:
      Connect to 数据库名 user 用户 using 密码
  3.断开数据库连接:
      Connect reset
        Disconnect 数据库名
  4.列出数据库中的所有表:
        List tables for all
  5.列出数据库中的模式名为schema_name的所有表:
        List tables for schema  schema_name
  6.查看表结构
        Describe table 模式名.表名
        Describe select * from 模式名.表名
   7.查看表的索引
        Describe indexes for table 模式名.表名
 
  五 函数
 
  (一)  列函数
  列函数对列中的一组值进行运算以得到单个结果值。
 
  1.AVG
  返回某一组中的值除以该组中值的个数的和
  2.COUNT (*)
  返回非空列值的行数。
  3.MAX
  返回一组值中的最大值
  4.MIN
  返回一组值中的最小值
  5. MOD
  求余
 
  (二) 标量函数
  标量函数对值进行某个运算以返回另一个值。下列就是一些由DB2通用数据库提供的标量函数的示例。
 
  1.ABS
  返回数的绝对值
  2.HEX
  返回值的十六进制表示
  3.LENGTH
  返回自变量中的字节数(对于图形字符串则返回双字节字符数。)
  4.YEAR
  抽取日期时间值的年份部分
  5.NULLIF(a,b)
  如果a=b则值为空,否则值为a
  6.COALESCE(a,b,c)
  :返回第一个具有非空值的参数的值
  7.UCASE(str)
  小写字符转换成大写字符
  8.ICASE(str)
  大写字符转换成小写字符
  9.LOCAT(str1,str2,n)
  返回从第n个字符起,在str1中str2第一次出现的位置
  10.SUBSTR(str,m,n)
  返回从第m个字符起,,在str中的n个字符串
 
0
相关文章