DB2数据库、DML数据操纵语言、DDL数据定义语言

页面导航:首页 > 数据库 > DB2 > DB2数据库、DML数据操纵语言、DDL数据定义语言

DB2数据库、DML数据操纵语言、DDL数据定义语言

来源: 作者: 时间:2016-01-23 11:15 【

DML(Data Manipulation Language commands)数据操纵语言;DDL(Data Definition Language commands)数据定义语言;TCC(Transaction Control commands)事务控制语言;SCC(System Control commands )系统...

 

DML(Data Manipulation Language commands)数据操纵语言;DDL(Data Definition Language commands)数据定义语言;TCC(Transaction Control commands)事务控制语言;SCC(System Control commands )系统控制语言

 

 

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=<x<=254),缺省为1 。

VARCHAR(x) 可变长度字符x<=4000,x>254不能用group by ,order by,distinct 和除               

               union all以外的任何设置操作。

GRAPHIC(x)    是固定图形字符串。(1=<x<=127)

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 (创建)

u      创建表:

        Create table [<模式名>.]<表名>   (<列名1> <类型> [Null|Not null] [,<列

             名2> <类型>...]

u      创建视图:      

        Create view [<模式名>.]<视图名> [<列名表>] as select 语句

u      创建别名:   

         Create alias [<模式名>.]别名for [<模式名>.]表名/视图名/别名

u      创建索引:

        Create [unique] index <索引名> /*I_表名_字段名*/ on <表名>(<列名

              >[asc|desc]

u      创建模式:

        Create schema 模式名authorization 权限名

2、Drop (摧毁)

u      摧毁表:

        drop table [<模式名>.]表名

u      摧毁视图:

        drop view [<模式名>.]视图名

u      摧毁别名:

        drop alias [<模式名>.]别名

u      摧毁触发器:

        drop trigger [<模式名>.]触发器名

u      摧毁索引:

        drop index [<模式名>.]<索引名>

u      摧毁包:

        drop package [<模式名>.]包名

3、Alter (变更)

u      增加表列:

        Alter table [<模式名>.]<表名> add column [<列名1> <类型> [Null|Not null]]...

u      增加约束: 

        Alter table [<模式名>.]<表名> add constraint 列名CHECK (约束)       

u      删除约束:

        Alter table [<模式名>.]<表名> drop constraint 约束名        

u      修改列类型:

        Alter table [<模式名>.]<表名> alter column 列名set data type <类型>

  

4、Grant (赋权)

u      对[public/用户/组] 赋于在表上的[all/select/insert/update/delete] 权限:

        Grant [all/select/insert/update/delete] on [<模式名>.]表名to [public/用户/

              组];

u      对[public/用户/组] 赋于在包上的[bind/execute/]权限:       

        Grant [bind/execute/] on package [<模式名>.][包名] to [public/用户/组];    

u      对[public/用户/组] 赋于在索引上的[control]权限:

       Grant control on index [<模式名>.]索引名to [public/用户/组]

5、Revoke (回收)

u      从public/用户/组] 回收在表上的[all/select/insert/update/delete] 权限:       

        Revoke [all/select/insert/update/delete] on [表名] from [public/用户/组];

u      从public/用户/组] 回收在包上的[bind/execute/] 权限:

        Revoke [bind/execute/] on package [<模式名>.][包名]from [public/用户/组];

Tags:

相关文章

    文章评论

    最 近 更 新
    热 点 排 行
    Js与CSS工具
    代码转换工具
    
    <