热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DB2语句的详细信息和资料

http:www.2cto.comdatabase201307225809.html1、数据操作语言(DML:select,delete,insert,update)<1>查询数

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

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

<1>查询数据库目录:

db2 list db directory

<2>查询数据库中表

db2 list tables 当前用户

db2 list tables
for all 所有表

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

<3>显示表结构

db2 describe table tablename

<4>插入数据

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

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

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

<5>更改表或视图数据

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

<6>删除数据

db2 delete
from tablename where + 条件

<7>导入数据

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" 当导入数据出现问题被强行中断时,此表会被加锁,通过此命令可以解锁

<8>导出数据

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='大写存储过程名'"

<9>查询表状态

db2 load query table
+ tableName

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

db2
select count(1) from tab with ur

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

db2 rename table tab1 to tab2

 

 

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

 1 <1>创建或删除实例
2
3 db2icrt instance_name/db2idrop -f instance_name
4
5 linux:db2icrt -u user_id instance_name
6
7 <2>创建视图、表、模式
8
9 db2 create view/table/schema
10
11 创建指定用户的模式
12
13 db2 create schema schName AUTHORIZATION userName
14
15 db2 create schema AUTHORIZATION userName(没有指定模式名时,模式名隐含为用户名userName)
16
17 定义含有缺省值的表
18
19 db2 create table tableName(column1 数据类型,column2 数据类型 default '缺省值')
20
21 基于已存在的表
22
23 db2 create table clone_tablename like tablename
24
25 db2 create table clone_tablename as (select * from tablename) definition only
26
27 创建物化查询表(MQT)
28
29 create table new_table_name as (select * from table_name) data initially deferred refresh deferred;
30
31 refresh table new_table_name;
注意:物化表类似一个查询,没有真正形成表,类型显示为Query。但它完全可以当表来用。                  创建表并指定其索引表空间  1 db2 create table(.....) in userspace1 INDEX in userspace2 2 3 (userspace1是表所在空间,userspace2是表上索引所在空间)      <3>创建视图
1 db2 create view viewname 
2
3 as select 字段名1,字段名2...from table where + 条件
4
5 with check option 规定一种约束:通过视图插入或更新的每一行都必须符合视图的定义,如:
6
7 create view emp_view2(empno,empname,deptno) as (select id,name,dept from employee where dept=10)with check option
8
9 当此视图用于更新数据或插入新值时,with check option 限制了dept列的输入值

 

 

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

 1 1)添加新列 alter table tablename ADD COLUMN columnname 数据类型
2
3 2)添加约束
4
5 3)修改表中字段 alter table tablename alter columnname set data type 数据类型
6
7 4) 添加主键 alter table tablename add primary key(c1,c2)
8
9 <5>删除模式、表、视图
10
11 drop schema schName
12
13 CASCADE(级联)表示删除模式的同时删除该模式中所有的数据库对象
14
15 RESTRICT(限制)表示该模式下定义了数据库对象时,限制删除;没有任何数据库对象时才能删除
16
17 <6>重新组织表及其索引
18
19 重组表数据 reorg table tableName index indexName(根据索引)
20
21 重组表索引 reorg indexes all for table tableName
22
23 <7>重新收集表及其索引统计信息
24
25 runstats on table tableName for indexes all(跑批前重新收集所用表信息可以提高效率)
26
27 <8>DB2自动增长主键方法
28
29 IDENTITY列
30
31 generated always as identity(start with 1,increment by 1)将一个字段指定为自增长型字段,放在数据类型后。
SEQUENCE对象(序列)  3、数据控制语言(DCL:grant,revoke)
1 将表的特权授予用户
2
3 grant select,update,delete on table tableName to user userName with grant option
4
5 将包特权授予同组
6
7 grant control on package packageName on group groupName with grant option

 


推荐阅读
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 本文由瀚高PG实验室撰写,详细介绍了如何在PostgreSQL中创建、管理和删除模式。文章涵盖了创建模式的基本命令、public模式的特性、权限设置以及通过角色对象简化操作的方法。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • openGauss每日一练:第6天 - 模式的创建、修改与删除
    本篇笔记记录了openGauss数据库中关于模式(Schema)的创建、修改和删除操作。通过这些操作,用户可以更好地管理和控制数据库对象。实验环境为openGauss 2.0.0,并使用由墨天轮提供的线上环境。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • MySQL中枚举类型的所有可能值获取方法
    本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ... [详细]
  • 本文介绍如何使用 NSTimer 实现倒计时功能,详细讲解了初始化方法、参数配置以及具体实现步骤。通过示例代码展示如何创建和管理定时器,确保在指定时间间隔内执行特定任务。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
author-avatar
PHP猎人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有