DB2的基础指令 学习笔记
=======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 * from table_name" 显示所有的字段
db2 "select * from table_name where 字段名 = ' ' "
db2 "select 列名1,列名from 表名" 显示指定的字段
db2 "select distinct 列名 ,列名……from 表名 不显示重复行
6、describe的用法
db2 ? describe 查看帮助文档
7、函数in的用法
db2 "select * from 表名 where 列名 =值1 or 列名=值2"
|| 等价于
db2 "select * from 表名 where 列名 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.bank_id =m.bank_id and b.bank_id = t.bankid
group 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
正确: select 列名1,sum(列名2) from 表名1,表名2 group by 列名1
正确: select 列名1,列名2 from 表名1,表名2 group by 列名1 , 列名2
11、select where group order综合使用语法:
Select distinct 列名
from 表名
where 行表达式
group by 列名 having
order by 列名asc./desc
12、数据的导入导出
.导出数据
Ixf 是16进制的 可以不加messages msg
db2 "export to myfile of ixf messages 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 " 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 字段 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.8~1.0)')";
插入全部字段时
db2 "insert into 表名 values ('值)"; (注意值得类型)
17、删除表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没有定义的对象名
-303 因为数据类型不兼容,不能分配数值
解决办法:检查数据跟游标是否对应
-501 在试图获取数据或关闭一个游标前必须打开一个游标
解决办法:检查游标的定义
-803不能插入行,因为这将违反唯一索引的约束
解决办法:检查是否重复
-805 在计划中没有发现DBRM或程序包名
解决办法:重新绑定
-818计划<->载入组件的时间戳不匹配,在执行计划中没有从同一个预编译中建立DBRM,该预编]译是作为组件载入的
解决办法:重新编译
20、计数
db2 "drop sequence SEQ_KLCSB_ID" 删除 sequence
db2 "create sequence SEQ_KLCSB_ID 建立sequence
AS bigint
Start with 1
Incremernt by 1
No MAXVALUE
CYCLE
NO 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(字符,从第几个字符开始,取多少个字符)
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 three
from 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.8~1.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.bankid
group by b.bank_id b.sup_bank_id "
DB2的基础指令 学习笔记的更多相关文章
- Objective-c基础知识学习笔记
Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
- ASP.Net开发基础温故知新学习笔记
申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页. 一.一般处理程序基础 (1)表单提交注意点: ①GET通过URL,POST通过报文体: ②需在H ...
- Python基础教程学习笔记:第一章 基础知识
Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入“p ...
- Python基础班学习笔记
本博客采用思维导图式笔记,所有思维导图均为本人亲手所画.因为本人也是初次学习Python语言所以有些知识点可能不太全. 基础班第一天学习笔记:链接 基础班第二天学习笔记:链接 基础班第三天学习笔记:链 ...
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一机器学习是什么? 感觉和 Tom M. Mitchell的定义几乎一致, A computer program ...
- typescript基础类型(学习笔记非干货)
布尔值 Boolean let isDone:boolean=false; 数字 Number let decLiteral:number=6; let hexLiteral:number=0xf00 ...
- 《计算机科学基础》学习笔记_Part 1 Computer and Data
Technorati Tags: 计算机科学基础,读书笔记 Chapter 1. Introduction Ø 计算机:黑盒,Output Data=f(Input Data, Program) Ø ...
- React入门基础(学习笔记)
这篇博客是我通过阅读React官方文档的教程总结的学习笔记,翻译可能存在误差,如有疑问请参见http://reactjs.cn/react/docs/tutorial.html . 一.所需文件 在编 ...
随机推荐
- [转]Even when one byte matters
Source:http://kernelbof.blogspot.jp/2009/07/even-when-one-byte-matters.html Common Vulnerabilities a ...
- 企业架构研究总结(32)——TOGAF架构内容框架之架构交付物
3. 架构交付物(Architecture Deliverables) 架构交付物是在整个架构开发方法循环过程中所产生或被使用的契约性且正规化的企业架构内容,因而其与企业架构开发方法有着紧密的联系.本 ...
- [转]影响Cache的几个HTTP头信息
原文地址:http://hi.baidu.com/feilala_fly/item/f79eca08fbf389026c9048a7 Http的Cache机制总共有4个组成部分: Cache-Cont ...
- SQLSERVER2012 列存储索引的简单研究和测试
SQLSERVER2012 列存储索引的简单研究和测试 SQLSERVER2012 列存储索引的简单研究和测试 看这篇文章之前可以先看一下下面这两篇文章: 列存储索引 http://www.cnblo ...
- 自己做个 Tag标签
这是效果图,下面是源码,时间有限,有时间再完善 http://files.cnblogs.com/wxwall/tag.zip
- 解密:LL与LR解析 1(译)
解密:LL与LR解析 1 作者:Josh Haberman 翻译:杨贵福 由于GFW,我无法联系到作者,所以没有授权,瞎翻译的.原文在这里[http://blog.reverberate.org/20 ...
- Web自动化测试学习点总结
"大不可量,深不可测"这是出自<韩非子·主道>的一段话.关于自动化测试也是如此,web系统开发完成,测试人员对页面进行测试,寻找bug.这个过程,需要摸索着前进. 什么 ...
- SVN不同图标的不同意义
黄色感叹号(有冲突):--这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别人 ...
- php文件上传及头像预览
php文件上传原理是通过form表单的enctype="multipart/form-data"属性将文件临时放到wamp文件夹中的tmp目录下,再通过后台php 程序将文件保存在 ...
- 使用gulp构建自动化工作流
简单易用 高效构建 高质量的生态圈 可能很多人会说现在提gulp也太落后了吧,但我想说写点东西并不是为了讨论它是否过时,而是来帮助我们自己来记忆.整理和学习.任何工具,我需要,我才去使用它,正如此时我 ...