收藏 分享(赏)

最基础的db2数据库学习总结.doc

上传人:gnk289057 文档编号:6203540 上传时间:2019-04-02 格式:DOC 页数:6 大小:44KB
下载 相关 举报
最基础的db2数据库学习总结.doc_第1页
第1页 / 共6页
最基础的db2数据库学习总结.doc_第2页
第2页 / 共6页
最基础的db2数据库学习总结.doc_第3页
第3页 / 共6页
最基础的db2数据库学习总结.doc_第4页
第4页 / 共6页
最基础的db2数据库学习总结.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、db2 数据库1、打开数据库db2 connect to 数据库名;2、查看数据库中有哪些表db2 list tables ;3、查看数据库中的表结构db2 describe table 表名;db2 describe table 表名 show detail ;(详细的结构)4、查看表的索引db2 describe indexes for table 表名 (显示所有索引的标识,但是不会显示字段)db2 describe indexes for table 表名 show detail (显示各种索引的字段名 ) 5、查询语句 select(1)基本查询语句:db2 “select * fr

2、om table_name“ 显示所有的字段db2 “select * from table_name where 字段名 = “db2 “select 列名 1,列名 from 表名“ 显示指定的字段 db2 “select distinct 列名 ,列名from 表名 不显示重复行(2)多表查询语句:A.select 列名 1,列名 2 from 表名 1,表名 2 笛卡尔积:结果是 列名 1* 列名 2B.三个以上要将表起别名错误: select 列名 1,列名 2 ,列名 3 From 表名 1,表名 2 ,表名 3错误: 将中间的表起别名,其他的不取别名Select 列名 1,别名.

3、列名 2 ,列名 3 from 表名 1,表名 2(as )别名,表名 3正确: 将最后的一个表起别名,其他的不起select 列名 1,列名 2 ,别名.列名 3from 表名 1,表名 2 ,表名 3 (as)别名正确: select 列名 1,别名。列名 2 ,别名 .列名 3from 表名 1,表名 2 别名 ,表名 3 (as)别名6、describe 的用法db2 ? describe 查看帮助文档7、函数 in 的用法db2 “select * from 表名 where 列名 =值 1 or 列名=值 2“| 等价于db2 “select * from 表名 where 列名

4、in (值 1,值 2)“错误 :select * from 表名 where in(列名 1, 列名 2)8、统计(单函数只能统计一列)(1)简单的select count(列名 1)from 表名 where 列名 1 is (not) null (2)对多表进行查询且统计db2 “select b.bank_id b.sup_bank_id,(select count ( sys_mer_num ) from m_mer ), (select count ( term_id ) from m_term )from m_bank b ,m_mer m .m_term t Where b.b

5、ank_id =m.bank_id and b.bank_id = t.bankidgroup by b.bank_id b.sup_bank_id “9、Order by select 列名 1,列名 2 from 表名 order by 列名 2 asc /desc (降序)select 列名 1,列名 2 from 表名 order by 2 (按第 2 个字段排序)10、group by 使用原则 select 后面所有的列 除了没有聚合函数的 必须在添在 group by 后面错误: select 列名 1,列名 2 from 表名 1,表名 2 group by 列名 1正确: s

6、elect 列名 1,sum(列名 2) from 表名 1,表名 2 group by 列名 1正确: select 列名 1,列名 2 from 表名 1,表名 2 group by 列名 1 , 列名 211、select where group order 综合使用语法:Select distinct 列名 from 表名 where 行表达式 group by 列名 having order by 列名 asc./desc12、数据的导入导出导出数据Ixf 是 16 进制的 可以不加 messages msg db2 “export to myfile of ixf messages

7、 msg select * from tb1“db2 “export to myfile of ixf messages msg select * from l_pclbz “db2 “export to myfile of del select * from 表名 “导入数据Replace 全部替换掉 insert from 插入到表中db2“ import from myfile of ixf messages msg replace into tb1“db2 “ import from myfile of ixf messages msg replace into l_pclbz“db2

8、 “ import from myfile of del replace into l_pclkz“db2 “ import from myfile of del replace into m_mer“13、数据库 delete 的用法 “ delete from 表名 where 条件“只保留某个值Delete from 表名 where 列名 != 某值14、修改数据 update“update 表名 from set 列名 = 值 where 条件“15、修改表结构(1)Db2 不可以 修改字段的数据类型 只可以改变它的长度,删掉表重建(2)alter table 表名 ALTER 字段

9、 SET DATA TYPE varchar(13); alter table 表名 alter 字段 set data type int; (待验证貌似不可以)16、插入数据 insert db2 “insert into 表名 (字段)values (值)“; (注意值得类型)db2 “INSERT INTO l_xthjcs (csbs,csmc,csqz,cssm) values(5008,助农取款手续费及,100.00,1.00,1.5,1.0,最高,最低,扣率,优惠(0.81.0)“;插入全部字段时db2 “insert into 表名 values (值)“; (注意值得类型)1

10、7、删除表 drop drop table 表名18、创建索引db2 “create unique index l_jgjytjb_undx1 on l_jgjytjb( bank_id,trade_kind,pos_type,data_type,recode_date,com_type,com_date,trade_type)“;19、数据库中遇到的错误SQLCA = 0 成功执行100 没有找到满足条件的行204 命名对象未在数据库中定义-180 DATE、TIME、TIMESTAMP 值的字符串表示法的语法不对 -181 不是有效的 DATE、TIME、TIMESTAMP 值-204 没

11、有定义的对象名-303 因为数据类型不兼容,不能分配数值 解决办法:检查数据跟游标是否对应-501 在试图获取数据或关闭一个游标前必须打开一个游标 解决办法:检查游标的定义-803 不能插入行,因为这将违反唯一索引的约束 解决办法:检查是否重复-805 在计划中没有发现 DBRM 或程序包名 解决办法:重新绑定-818 计划 载入组件的时间戳不匹配,在执行计划中没有从同一个预编译中建立 DBRM,该预编 译是作为组件载入的 解决办法:重新编译20、计数db2 “drop sequence SEQ_KLCSB_ID“ 删除 sequence db2 “create sequence SEQ_KL

12、CSB_ID 建立 sequence AS bigint Start with 1 Incremernt by 1No MAXVALUECYCLENO CACHE“db2 “ alter sequence seq_mysyb_pwdkey resdart with 5 “ 重新计数 sequence 从 5 开始21、将这些记录锁死并且不允许我修改的同时别人也修改select from WHERE ORDER BY jyrq FOR UPDATE 22、约束(1)唯一约束: 某个字段不允许出现重复值(2)主键约束: 某一行不可以重复出现23、substring 的用法 (1)Substring

13、(字符,从第几个字符开始,取多少个字符)Substring(abcdef,2,3)结果为: bcd(2)substring ( 字段 from 从第几个字符开始 for 取多少个字符)Substring(namef from 2 for 3)O( _)O遇到的 Sql 语句集合:(1)db2 “select 类型, sum(case when 状态 = 0 then 1 else 0 end) as one,sum(case when 状态 = 0 then 1 else 0 end) as two,sum(case when 状态 = 0 then 1 else 0 end) as thre

14、efrom tab group by 类型“(2)db2 “select distinct 列名 ,列名from 表名“(3)db2 “INSERT INTO l_xthjcs (csbs,csmc,csqz,cssm) values(5008,助农取款手续费,100.00,15,1.0,最高,最低,扣率,优惠(0.81.0)“;(4)db2 “create unique index l_jgjytjb_undx1 on l_jgjytjb( bank_id,trade_kind,pos_type,data_type,recode_date,com_type,com_date,trade_type)“;(5)db2 “select b.bank_id b.sup_bank_id,(select count ( sys_mer_num ) from m_mer ), (select count ( term_id ) from m_term )from m_bank b , m_mer m . m_term t Where b.bank_id =m.bank_id and b.bank_id = t.bankidgroup by b.bank_id b.sup_bank_id “

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 工作总结

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报