设为首页 收藏本站
查看: 1170|回复: 0

[经验分享] DB2语句详细资料

[复制链接]

尚未签到

发表于 2016-11-18 06:43:41 | 显示全部楼层 |阅读模式
  http://www.iyunv.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 <CASCADE|RESTRICT>
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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-301795-1-1.html 上篇帖子: 调优 DB2 UDB v8.1 及其数据库的最佳实践 下篇帖子: DB2高级安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表