`
坏小子小滨
  • 浏览: 15710 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

最近公司培训DB2,现在把DB2的基础知识总结下

 
阅读更多

一:数据库基础

1.下载DB2

db2exc_974_WIN_x86.exe


2.安装检查
db2cmd:检查是否已经安装过db2?
db2start:如果安装了,是否能启动?

3.正式安装
安装路径:
D:\IBM\SQLLIB
用户名:db2admin
密码:123


4.安装后检查
4.1程序项
所有程序里面,查看是否有IBM DB2
右下角是否db2的启动图标

4.2服务组件
services.msc

4.3服务设置
右键服务,进行设置登录为本地用户
启动类型,全部更改为手动

4.4实例启动与停止
instance:
db2start
db2stop
远程连接管理服务:
一般开发时不需要启动。
db2admin start

db2admin stop


二:数据库db2使用
1.实例相关操作
db2ilist 查看所有实例
db2icrt erp 创建实例
db2 get instance 查看当前实例
db2idrop 删除实例
2.创建示例数据库:
db2fs批处理出现第一步,可点击创建示例数据库
db2sampl.exe
3.如何连接数据库
3.1命令行两种方式
db2cmd:每个命令之前必须要写db2
db2cmd->db2,每个命令执行之前无须写db2,退出时使用quit
3.2连接数据库
使用用户名与密码
db2 connect to sample user db2admin using 123
如果连接本地数据库可不写用户名与密码,默认以当前操作系统登录用户
db2 connect to sample
list tables:查看当前连接数据库有哪些表,
使用 ?查看命令集,及相关帮助
db2cc:db2控制中心,所有的操作都可以在此界面中操作
db2ca:配置助手,包括建立数据库,查看数据库,远程连接等
3.3断开数据库
db2 terminate
db2 connect reset

3.4创建新的数据库
create database MyDb:在默认安装路径的盘符中建立数据库文件
create database MyDb on d:在指定盘符中建立数据库文件
数据库文件在:D:\DB2\NODE0000

3.5查看当前所有数据库
db2 ? list,
db2 list db directory


三:模式的相关操作
1.查看模式
连接到相关数据库
db2 connect to mydb
db2 select schemaname,owner from syscat.schemata
2.创建模式schema
显示创建:db2 create schema db authorizations ownername:默认的拥有都为登录用户
隐式创建: db2 create table tblUser(strname varchar(100)):默认的拥有为sysibm
db2 create table tblAddress(strname varchar(100)):默认的拥有为sysibm
3.显示当前使用schema
db2 select current schema from sysibm.dual
4.设置默认模式名
set current schema db
set schema db


四:数据库语句操作
1.操作数据库基本步骤
db2start
db2 connect to 数据库
db2 terminate/db2 connect reset
2.查看命令帮助
db2 ? 查看所有的命令
db2 ? db2-command 关于指定命令的帮助
db2 ? OPTIONS 关于所有命令选项的帮助
db2 ? HELP - 关于阅读帮助屏幕的帮助
3.建立表
3.1建立tblGrade年级表
create table db.tblGrade
(
intId int not null generated by default
as identity primary key,
strName varchar(50) not null
)
3.2删除表
drop table

3.3每一行结束符号
db2 -td@

3.4创建表tblStudent学生表
create table db.tblStudent
(
intId int not null generated by
default as identity primary key,
strName varchar(50),
intAge int default 18,
strAddress varchar(100),
strSex char(1),
gradeId int
)
3.5创建表tblCourse课程表
create table db.tblCourse
(
intId int not null generated by
default as identity primary key,
strName varchar(50),
bookName varchar(50)
)
3.6创建表tblScore分数表
create table db.tblScore
(
intId int not null generated by
default as identity primary key,
studentId int not null,
courseId int not null,
num float default 0
)
4.插入数据
插入数据检验,是针对一行,不是某一列
grade:
insert into db.tblGrade values(1,'一年级')@
insert into db.tblGrade(strName) values('二年级')@
insert into db.tblGrade(strName) values('三年级')@
insert into db.tblGrade(strName) values('四年级')@
insert into db.tblGrade(strName) values('五年级')@

student:
insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)
values('张三',18,'南京','T',1)@
insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)
values('李四',28,'北京','T',1)@
insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)
values('王王',38,'上海','F',1)@
insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)
values('吴六',16,'南京','T',1)@
insert into db.tblStudent(strName,intAge,strAddress,strSex,gradeid)
values('冯七',19,'天津','F',1)@
course:
insert into db.tblCourse(strName,bookName) values('Java基础','java大学生教程')@
insert into db.tblCourse(strName,bookName) values('C#基础','C#权限指南')@
insert into db.tblCourse(strName,bookName) values('Servlet精通','Jsp Servlet权威')@
insert into db.tblCourse(strName,bookName) values('SVN操作指南','svn入门')@
score:
insert into db.tblScore(studentId,courseId,num) values(1,1,80)@
insert into db.tblScore(studentId,courseId,num) values(1,2,90)@
insert into db.tblScore(studentId,courseId,num) values(1,3,85)@
insert into db.tblScore(studentId,courseId,num) values(2,1,85)@
insert into db.tblScore(studentId,courseId,num) values(2,2,60)@
insert into db.tblScore(studentId,courseId,num) values(2,3,58)@
insert into db.tblScore(studentId,courseId,num) values(3,1,70)@
insert into db.tblScore(studentId,courseId,num) values(3,2,90)@
insert into db.tblScore(studentId,courseId,num) values(3,3,80)@
5.查看表结构
db2 describe table db.tblStudent
db2 describe table db.tblStudent show detail

6.修改主记录
select * from db.tblStudent

update db.tblStudent set strAddress='北京',intAge=29 where intId=1 按主键Id更新
update db.tblStudent set intAge=intAge+1 where intAge<20 按条件更新

7.删除记录
删除针对整行记录,不能删除某列
insert into db.tblGrade(strName) values('八年级')@

delete from db.tblGrade where intId=6 按主键Id删除

insert into db.tblGrade(strName) values('八年级')@
insert into db.tblGrade(strName) values('八年级')@
insert into db.tblGrade(strName) values('八年级')@
insert into db.tblGrade(strName) values('八年级')@

delete from db.tblgrade where strname='八年级'@ 按条件删除


8.查询记录
8.1:select * from db.tblgrade@ :查询表的所有记录,所有列
8.2:select strName from db.tblgrade @ 查询表部分列,所有记录
8.2:select strName from db.tblgrade where strName='一年级' @ 查询部分列,部分记录
8.3:select strName as 年级名称 from db.tblGrade@ 指定列的别名,使用as
8.4:where中的条件包括:
>,<,=,<>,in,not in ,between and ,and ,or
select * from db.tblgrade where intId>3
8.5:排序 order by desc: 降序,Asc:升序
select * from db.tblstudent order by intAge Asc@ 学生表按年龄升序
select * from db.tblstudent where intAge>20 order by intAge Asc@ 学生表按年龄升序
8.6: 聚合函数
sum,max,min,avg,count
select max(intAge) from db.tblstudent@
select min(intAge) from db.tblstudent@
select avg(intAge) from db.tblstudent@
select count(*) from db.tblstudent where strSex='F'@
select count(*) from db.tblstudent where strSex='T'@
8.7:子查询
select * from db.tblstudent where intAge=(select max(intAge) from db.tblstudent)@
8.8:union 把两个结果集结合到一起显示

select 'F' as strSex,count(*) as pers from db.tblstudent where strSex='F'
union
select 'T' as strSex,count(*) as pers from db.tblstudent where strSex='T'

8.9分组 group by
select strSex,count(*) as pers from db.tblstudent group by strSex@

8.10having

select strSex,count(*) as pers from db.tblstudent group by strSex having count(*)>2 @

8.11where ,group by ,having ,order by等几种关系

where:对记录进行过滤
group by 对过滤后的结果进行分组 having对分组后的数据进行限制或过滤
order by 是对过滤分组后的最终结果进行排序

where>group by having>>order by

select strSex,count(*) from db.tblstudent
where intAge>17 group by strSex
order by strSex

8.12多表查询
查询出学生的所在年级中文名称,
select db.tblstudent.*,db.tblgrade.strName from db.tblstudent,db.tblgrade
where db.tblstudent.gradeid=db.tblgrade.intid
表的别名:
select a.*,b.strName as 年级名称 from db.tblstudent as a,db.tblgrade as b
where a.gradeid=b.intid

内连接:
inner join :只有两表记录匹配都会出现在结果集中
select a.*,b.strName as 年级名称
from db.tblstudent as a
inner join db.tblgrade as b on a.gradeid=b.intid

外连接:可分为:

左连接:
left join on
select a.*,b.strName as 年级名称
from db.tblstudent as a
left join db.tblgrade as b on a.gradeid=b.intid

右连接:
right join on
select a.*,b.strName as 年级名称
from db.tblstudent as a
right outer join db.tblgrade as b on a.gradeid=b.intid

全连接:
select a.*,b.strName as 年级名称
from db.tblstudent as a
full outer join db.tblgrade as b on a.gradeid=b.intid

注意:左连接与右连接相互互换

五:数据库备份与恢复
单表:
导出:export
1.命令行方式导出
e:
mkdir tranTmp
cd tranTmp
执行如下语句:
db2 export to student.xls of del messages msg.txt select * from db.tblstudent
db2 export to student.ixf of ixf messages msg.txt select * from db.tblstudent

2.GUI方式导出
db2cc

导入:import

db2 import from studentGui.xls of del messages msg.txt insert into db.tblStudent

db2 import from student.ixf of ixf messages msg.txt REPLACE_CREATE into db.tblStudent2

整个库备份与恢复:
db2move:

export:
mkdir mydb
cd mydb

db2move mydb export -u db2admin -p 123

import:
create database mydbNew

db2move mydbNew import -u db2admin -p 123

授权:
连接上数据后:

db2 grant dbadm on database to user db2admin




分享到:
评论

相关推荐

    db2 基础知识培训ppt

    这份"db2基础知识培训ppt"将引导我们深入了解DB2的核心概念、功能以及如何进行数据库开发。 首先,DB2的基础知识包括对数据库系统的基本理解。数据库是一个组织和存储数据的系统,提供数据的高效检索、更新和管理。...

    db2培训总结

    ### DB2培训总结知识点 #### 一、DB2概述 **DB2**是IBM公司研发的一款关系型数据库管理系统,以其卓越的性能、可伸缩性和跨平台兼容性著称。适用于从大型机环境到个人电脑的多种操作系统,包括OS/2、Windows等,...

    中国农业银行DB2培训

    1. **DB2基础知识**:首先,学习者需要了解DB2的基本概念,包括数据库管理系统的作用、DB2的版本历史、核心特性以及与其他数据库系统的区别。DB2支持SQL标准,具备高可用性、可扩展性和安全性。 2. **安装与配置**...

    DB2 基础培训(适合初学者)

    对于初学者来说,理解DB2的基础知识是十分重要的。本基础培训将详细介绍DB2的一些核心概念和操作,帮助初学者快速入门。 首先,DB2 UDB(Universal Database)的组成包括多个层面。数据库的逻辑结构定义了数据的...

    DB2 培训讲义 实例介绍

    ### DB2实例培训讲义知识点总结 #### 一、DB2实例的概念与作用 ##### 1.1 实例概述 - **定义**:在DB2中,实例提供了一个独立的环境,用户可以在其中创建数据库对象并针对这些对象运行应用程序。由于这些环境是...

    db2数据库培训文档

    DB2数据库是一款由IBM开发的关系型数据库管理系统,广泛应用于企业级的数据存储和管理。这篇培训文档主要涵盖了...通过这个培训文档,学习者可以全面了解DB2数据库的基础知识,为实际操作和进一步的学习打下坚实基础。

    DB2 731培训认证

    1. **DB2基础概念**:DB2是IBM开发的关系型数据库管理系统,支持SQL语言,广泛应用于企业级数据存储和处理。理解DB2的基本架构,包括数据库实例、表空间、存储组、数据库对象等,是DB2学习的基础。 2. **安装与配置...

    DB2 to Oracle 迁移培训

    通过理论讲解与实际操作相结合的方式,不仅能够帮助学员快速掌握 DB2 的基础知识,还能让他们深入了解如何有效地将现有 Oracle 数据库迁移至 DB2。此外,该课程还特别强调了 DB2 在数据并发控制和 XML 数据处理方面...

    DB2数据库基础与应用开发

    #### 四、DB2基础培训课程内容 - **第1部分:DB2规划** - 介绍DB2产品的基本信息及其提供的工具。 - 探讨不同类型的数据应用程序、数据仓库和在线分析处理(OLAP)的概念。 - **第2部分:安全性** - 讲解DB2中的...

    DB2_基础.ppt

    系统的DB2开发培训文档,多维度的呈现DB2的魅力,开发基础知识,高级知识

    DB2初级教程+培训资料

    DB2是IBM开发的一款关系型数据库管理系统,全称为IBM ...通过深入学习DB2的基础知识和实践操作,你将能够熟练掌握其功能,为企业数据管理提供有力支持。本套初级教程结合实际案例,将引导你逐步掌握DB2的各项核心技能。

    DB2 培训资料

    一、DB2基础概念 1. 数据库管理系统(DBMS):DB2作为DBMS,负责组织、存储和管理数据,提供数据的查询、更新、删除和创建等操作。 2. 数据库实例:实例是DB2运行时环境的集合,包含一组共享的内存结构和系统进程。 ...

    DB2培训PPT

    一、DB2基础知识 DB2是一种支持多种操作系统的数据库系统,如Windows、Linux、Unix和IBM iSeries等。它遵循ACID(原子性、一致性、隔离性和持久性)原则,确保事务处理的可靠性和数据的一致性。DB2提供了强大的数据...

    db2培训认证资料730

    1. **DB2基础知识**:理解DB2的核心架构,包括数据库实例、数据库、表空间、表、索引等基本概念。了解DB2如何处理事务和并发控制,以及其支持的数据类型和SQL标准。 2. **安装与配置**:学习如何在不同操作系统(如...

    db2培训资料

    这份"db2培训资料"应该包含了帮助考生准备DB2730认证所需的核心知识和技能。 在深入学习DB2之前,我们首先要知道数据库的基本概念,如关系模型、SQL语言、事务处理等。DB2支持标准的SQL语法,包括DDL(数据定义语言...

    本周参加DB2培训的一些资料

    本次的DB2培训资料主要涵盖了数据库管理系统DB2的核心知识,它是一款由IBM公司开发的关系型数据库产品,广泛应用于企业级数据存储和管理。DB2以其高可用性、安全性以及强大的数据处理能力在业界享有盛誉。 【描述】...

    IBM内部培训资料_DB2-730 认证

    1. **DB2 11 for z/OS基础知识** - **体系结构**:理解DB2的多层架构,包括缓冲池、控制区域、数据库目录、存储过程等。 - **数据存储**:了解如何在DB2中组织和存储数据,如表空间、分区、索引和簇。 - **SQL...

    db2数据库培训课件

    其中,加锁策略和锁模式是DBA在进行锁优化时必须要掌握的基础知识。DB2的事物隔离级别,包括表级锁定和行级锁定等,也是此部分的重点。 除了DB2性能优化的具体内容外,课件中还介绍了数据库发展历史,从1969年IBM...

    DB2基础培训

    - **IBMCertified Database Associate for DB2 9 Fundamentals, Exam 730**:这是入门级认证,主要考察DB2基础知识和基本操作技能。 - **IBMCertified Database Administrator for DB2 9 DBA for LUW, Exam 731**:...

    ibm DB2基础培训教程

    ### IBM DB2基础培训教程知识点概述 #### 一、DB2简介与背景 - **DB2**:由IBM开发的一款关系型数据库管理系统(RDBMS),主要用于处理大量的事务性数据及支持复杂的查询操作。DB2提供了丰富的功能,如数据定义、...

Global site tag (gtag.js) - Google Analytics