热门标签 | 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

 


推荐阅读
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
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社区 版权所有