http://www.2cto.com/database/201307/225809.html

1、数据操作语言(DML:select,delete,insert,update)

<>查询数据库目录:

        db2 list db directory

 <>查询数据库中表

        db2 list tables 当前用户

        db2 list tables for all 所有表

        db2 list tables for schema schemaname 指定模式的表

 <>显示表结构

        db2 describe table tablename

 <>插入数据

        db2 insert into tablename(字段名,字段名...) values (与字段名一一对应的值)

        db2 insert into tablename1(字段1,字段2,字段3...) 

        select 字段1,字段2,字段3...from tablename2 + 查询条件

 <>更改表或视图数据

        db2 update tablename/viewname set 字段名1='',字段2='',...+查询条件

 <>删除数据

        db2 delete from tablename where + 条件   

<>导入数据

       db2 "import from E:\name.txt of del insert into tableName"

       db2 "import from E:\name.ixf of ixf commitcount 5000 insert /create/replace into tableName"

       db2 "load client from D:\xx.txt of del insert/replace into tabName"(不需要写日志,但插入前表必须存在;不能create table)

       db2 "load client from D:\xx.txt of del restart/terminate into tabName" 当导入数据出现问题被强行中断时,此表会被加锁,通过此命令可以解锁

 <>导出数据

          db2 "export to E:\name.txt of del select * from tableName"

          db2 "export to E:\name.txt of del MODIFIED BY NOCHARDEL select * from tableName"(导出不带分号的数据)

      导出表结构和数据

          db2 "export to E:\name.ixf of ixf MODIFIED BY NOCHARDEL select * from tableName"

          db2 "export to E:\name.ixf of ixf MODIFIED BY NOCHARDEL select * from tableName fetch first (取数+UNM) rows only"(取固定条数)

      导出表结构

          db2look -d dbName -e -t tableName -o D:\xxx.sql(path) -i userName -w password

          db2look -d dbName -z tabSchema -e -c -i userName -w password -o + 路径名

      导出存储过程结构

          db2 "export to xxx.sql of del select text from syscat.procedures where procname='大写存储过程名'"

   <>查询表状态

       db2 load query table + tableName

   <>查询当前表数据量(数据入库时)

       db2 select count() from tab with ur

   <>修改当前表名、模式名

       db2 rename table tab1 to tab2

2、数据定义语言(DDL:create,alter)

 <>创建或删除实例

   db2icrt instance_name/db2idrop -f instance_name

   linux:db2icrt -u user_id instance_name

  <>创建视图、表、模式

 db2 create view/table/schema

 创建指定用户的模式

 db2 create schema schName AUTHORIZATION userName

 db2 create schema AUTHORIZATION userName(没有指定模式名时,模式名隐含为用户名userName)

  定义含有缺省值的表

 db2 create table tableName(column1 数据类型,column2 数据类型 default '缺省值')

 基于已存在的表

 db2 create table clone_tablename like tablename 

 db2 create table clone_tablename as (select * from tablename) definition only

 创建物化查询表(MQT) 

 create table new_table_name as (select * from table_name) data initially deferred refresh deferred;

 refresh table new_table_name;
注意:物化表类似一个查询,没有真正形成表,类型显示为Query。但它完全可以当表来用。
 
               创建表并指定其索引表空间
  db2 create table(.....) in userspace1 INDEX in userspace2 (userspace1是表所在空间,userspace2是表上索引所在空间) 
 
 
<3>创建视图
 db2 create view viewname 

        as select 字段名1,字段名2...from table where + 条件

 with check option 规定一种约束:通过视图插入或更新的每一行都必须符合视图的定义,如:

 create view emp_view2(empno,empname,deptno) as (select id,name,dept from employee where dept=)with check option

 当此视图用于更新数据或插入新值时,with check option 限制了dept列的输入值

<4>修改表(列,主键,唯一约束,检查约束)

 )添加新列 alter table tablename ADD COLUMN columnname 数据类型

  )添加约束 

  )修改表中字段 alter table tablename alter columnname set data type 数据类型

  ) 添加主键 alter table tablename add primary key(c1,c2)

 <>删除模式、表、视图

    drop schema schName <CASCADE|RESTRICT>

    CASCADE(级联)表示删除模式的同时删除该模式中所有的数据库对象

    RESTRICT(限制)表示该模式下定义了数据库对象时,限制删除;没有任何数据库对象时才能删除

 <>重新组织表及其索引

    重组表数据  reorg table tableName index indexName(根据索引)

    重组表索引  reorg indexes all for table tableName

 <>重新收集表及其索引统计信息

    runstats on table tableName for indexes all(跑批前重新收集所用表信息可以提高效率)

 <>DB2自动增长主键方法

    IDENTITY列

      generated always as identity(start with ,increment by )将一个字段指定为自增长型字段,放在数据类型后。
SEQUENCE对象(序列)
 
 
3、数据控制语言(DCL:grant,revoke)
 将表的特权授予用户

 grant select,update,delete on table tableName to user userName with grant option

 将包特权授予同组

 grant control on package packageName on group groupName with grant option

DB2语句详细资料的更多相关文章

  1. DB2 公共表表达式(WITH语句的使用)

    ----start 说起WITH 语句,除了那些第一次听说WITH语句的人,大部分人都觉得它是用来做递归查询的.其实那只是它的一个用途而已,它的本名正如我们标题写的那样,叫做:公共表表达式(Commo ...

  2. db2笔记

    第七章:数据库备份与恢复 (恢复的概念,db2日志,数据库和表空间的备份,数据库和表空间的恢复,数据库和表空间的前滚,recover使用程序,数据库重建,监控备份恢复和复原,优化备份恢复和复原)1) ...

  3. DB2 错误 54001

    DB2 语句太长或者太复杂 SQLSTATE=54001 对数据库的参数的修改: db2 update db cfg for DB_NAME using STMTHEAP 4096 db2 updat ...

  4. db2构建临时结果集

    一 values  ('1',2,3)   为一行   ‘1’   2    3   行数据类型可以不同  values  ('1',2,3),('f',5,6) 为两行 (values  1,2,3 ...

  5. whdxlib

    1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...

  6. spring-mvc.xml 和 application-context.xml的配置与深入理解

    在java框架这个话题,前几篇文章是基于搭建ssm项目框架,以及web.xml的配置讲解,本篇主要就ssm框架的其他配置文件进行深入讲解,他们分别是:1.application-context.xml ...

  7. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  8. 数据库(MSSQLServer,Oracle,DB2,MySql)常见语句以及问题

    创建数据库表 create table person ( FName varchar(), FAge int, FRemark varchar(), primary key(FName) ) 基本sq ...

  9. Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理

    最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句.sqlserver分页 第一种分页方法 需用到的参数: pageSize 每页显示多少条数据 pageNumbe ...

随机推荐

  1. eclipse 自动排版

    自动排版:  ctrl + i 同名变量高亮: shift+alt+ o 导包:  shift+ctrl +o

  2. RTTI: dynamic_cast typeid

    dynamic_cast:将基类类型的指针向派生类指针安全转换.多用于下行转换.上行转换时,和static_cast是一样的.C++类型转换看这里.而const_cast用来修改类型的const或vo ...

  3. 简单的方式优化mysql

    参考博客 自己笔记本上向mysql导入txt数据,有一个table导入了将近4个小时,而且多个table之间都是相互之间存在关系的,所以做联合查询的时候你会发现问题会十分的多,我之前联合查询两个表就死 ...

  4. 在MAC服务器上搭建docker-registry(转)

    在MAC服务器上搭建docker-registry 2014-03-14      0个评论    来源:在MAC服务器上搭建docker-registry   收藏    我要投稿 本文介绍如何在M ...

  5. Attribute

    Attribute介绍 咱们来说Attribute,他是一个类,所以自定义的Attribute都是继承自System.Attribute,一般命名的时候都是以Attribute结尾.在使用的时候我们可 ...

  6. Query Designer:Exception,不同的值显示不同的颜色

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. 实现LRU的两种方法---python实现

    这也是豆瓣2016年的一道笔试题... 参考:http://www.3lian.com/edu/2015/06-25/224322.html LRU(least recently used)就不做过多 ...

  8. IOS7 edgesForExtendedLayout

    在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll.当你的容器是naviga ...

  9. 百度-official

    1.请描述html5新增的一些标签,描述这些标签的用法和语义 2.css属性position的属性值有哪些,描述它们的作用 3.常见的浏览器端的存储技术有哪些,以及它们的优缺点 4.程序定义如下: v ...

  10. JavaScript 的 defer 与 async

    当解析器遇到 script 标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档.但是我们可以将脚本标记为 defer,这样就不会停止文档解析,等到文档解析完成才执行脚本,也可 ...