db2数据库sql基础I
db2常用sql语句

授权
grant dbadm on database to user bb
24.
列出所有的系统表
list tables for system
25.
查看表结构
db2 describe select * from user.tables
27.
导出单个表结构到一个文件
db2look -d masa -e -u MASAMK -a -t PSC_MODE_SCORE_200503 -o aa.out
CONFIG PARTITIONING_DBPARTNUMS(0,1,2,3)
装载语句:(消息文件)
load client FROM /export/masaetl/work/data/org_data/cond.avl \
of DEL MODIFIED BY COLDEL0x09 MESSAGES /export/masaetl/111 \
db2 force application ID1,ID2,,,Idn MODE ASYNC
(db2 list application for db o_yd show detail)
16.
备份数据库
db2 force application all
db2 backup db o_yd to d:
10.
连接数据库
db2 connect to o_yd user db2 using pwd
11.
读数据库管理程序配置
db2 get dbm cfg
12.
写数据库管理程序配置
db2 update dbm cfg using 参数名 参数值
db2常用SQL语句详解

常用SQL语句详解到今天为止,人们对关系数据库做了大量的研究,并开发出关系数据语言,为操作关系数据库提供了方便的用户接口。
关系数据语言目前有几十种,具有增加、删除、修改、查询、数据定义与控制等完整的数据库操作功能。
通常把它们分为两类:关系代数类和关系演算类。
在这些语言中,结构化查询语言SQL以其强大的数据库操作功能、口语化、易学易用等特点,受到广泛的应用,成为数据库应用程序开发的一柄利剑。
在数据库应用程序开发过程中,巧妙地使用SQL语句,可以简化编程,起到事半功倍的效果,本书中有些实例也大量使用了SQL语句。
它由两部分组成,数据定义语言(DDL)和数据操作语言(DML)。
(1) 数据定义语言(DDL)数据定义语言用来定义数据库的各级模式。
常用关键字有:Create(建立数据表)、Alter(更改数据表)、Drop(删除数据表)。
建立数据表CREATE TABLE table_name(column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY],column2 DATATYPE [NOT NULL],...)说明:上面的DATATYPE 指的是字段的类型,NUT NULL 指是否为空,PRIMARY KEY 指本表的主键。
建立索引CREATE INDEX index_name ON table_name (column_name)说明:为数据表格的某个字段建立索引以增加查询时的速度。
更改数据表ALTER TABLE table_name ADD COLUMN column_name DATATYPE说明:增加一个字段。
ALTER TABLE table_name ADD PRIMARY KEY (column_name)说明:将某个字段设为主键。
ALTER TABLE table_name DROP PRIMARY KEY (column_name)说明:将某个字段的主键定义取消。
db2 sql 教程

Alter table tabname add primary key(col)
删除主键:
Alter table tabname drop primary key(col)
删除表:drop table tabname
3、表空间:
创建表空间:create tablespace tbsname pagesize 4k managed by database using (file ‘file’ size)
语法格式:
Rollback [work]
高级sql简单介绍
一、查询间使用运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
删除表空间:drop tablespace tbsname
4、索引:
创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
[color=blue:b36c9124a3]注:索引是不可更改的,想更改必须删除重新建。[/color:b36c9124a3]
表空间加入容器:alter tablespace tablespace_name add(file 'filename' size)
db2的sql标准

db2的sql标准
SQL(Structured Query Language)是一种用于管理关系型数据库的标准查询语言。
在关系型数据库管理系统(RDBMS)中,DB2是一种广泛使用的系统,也支持SQL标准。
SQL标准包括语法和语义两个方面。
DB2作为一个关系型数据库,遵循SQL 标准,并在此基础上提供了一些特定的扩展功能。
首先,DB2支持SQL标准的数据定义语言(DDL),用于创建、修改和删除数据库对象。
通过使用CREATE、ALTER和DROP语句,可以创建表、索引、视图等对象,并进行相应的修改和删除操作。
其次,DB2实现了SQL标准的数据操纵语言(DML),用于查询、插入、更新和删除数据。
使用SELECT语句可以从一个或多个表中检索数据,还可以使用WHERE子句进行条件过滤。
INSERT语句用于向表中插入新行,UPDATE语句用于更新表中的数据,DELETE语句用于删除表中的数据。
此外,DB2还支持SQL标准的数据控制语言(DCL),用于授权和撤销用户对数据库对象的访问权限。
使用GRANT语句可以向用户或角色授权特定的权限,使用REVOKE语句可以撤销已经授权的权限。
总的来说,DB2严格遵循SQL标准,并提供了一些扩展功能,使用户能够更灵活地管理和操作数据库。
通过学习和了解SQL标准,可以更好地使用DB2进行开发和管理工作。
DB2基础知识(一)

内部资料 注意保密
12
二、DB2的访问
节点目录、系统数据库目录和本地数据库目录间关系
内部资料 注意保密
13
二、DB2的访问
2.1 DB2的登录
通过本地客户端链接DB2服务器
内部资料 注意保密
14
二、DB2的访问
2.2 SQL语句的执行
内部资料 注意保密
15
二、DB2的访问
2.3 SQLSTATE & SQLCODE
说明
– – –
不能修改视图 视图不能创建索引 如果删除了某视图基于的表或另一视图,则该视图在数据库虽然有定义但不起作用
内部资料 注意保密
35
三、DB2数据库对象
视图
创建可更新视图和只读视图
• • •
视图的 SELECT 语句决定视图是只读的还是可更新的 通常,如果视图的行可映射至基表的行,则视图是可更新的。
显式地指定对象的模式名: create table DWAINE.table1 (c1 int, c2 int) 隐式地指定对象的模式名: create table t2 (c1 int) --- table tjadm.t2 created 注:隐式地指定对象的模式名,用户 需要IMPLICT_SCHEMA 特权
内部资料 注意保密
11
二、DB2的访问
2.1 DB2的登录
通过本地客户端链接DB2服务器
安装本地DB2客户端程序 配置本地Catalog(编目)
Db2cmd->db2 connect to bidbdw user scvadm
catalog tcpip node mynode remote 99.1.57.103 server 50000; catalog db bidbdw at node mynode;
db2sql语法

db2sql语法===========db2是一种常用的关系型数据库管理系统,它的SQL语法与许多其他SQL数据库系统非常相似,但也具有一些独特的功能和语法特性。
在本文中,我们将介绍db2的基本SQL语法。
一、数据查询------### 1. SELECT语句db2中的SELECT语句用于从数据库中选择数据。
基本的语法如下:```sqlSELECT column_name(s) FROM table_name;```其中,`column_name`是你要选择的列名,`table_name`是你要从中选择数据的表名。
你可以使用多个列名来选择多个列。
如果你想选择所有的列,可以使用星号(*)。
### 2. WHERE子句WHERE子句用于筛选结果集。
它允许你在查询时基于特定条件过滤数据。
基本语法如下:```sqlSELECT column_name(s) FROM table_name WHERE condition;```其中,`condition`是一个逻辑表达式,用于指定你要过滤的条件。
你可以使用各种比较运算符(如=、<、>、<=>等)和逻辑运算符(如AND、OR、NOT等)来构建条件表达式。
### 3. GROUP BY子句GROUP BY子句用于将结果集按照指定的列进行分组。
基本语法如下:```sqlSELECT column_name(s), aggregate_function(column_name(s)) FROM table_name GROUP BY column_name(s);```其中,`aggregate_function`是聚合函数,如SUM、COUNT、AVG 等。
GROUP BY子句允许你按照指定的列对数据进行分组,并使用聚合函数对每个组进行计算。
### 4. HAVING子句HAVING子句用于在GROUP BY查询中过滤分组结果。
它是在GROUP BY子句之后使用的,并且可以对聚合函数的结果进行条件筛选。
DB2-培训内容

2024/9/22
8
DB2 旳总体构造
2024/9/22
9
DB2 旳总体构造
DB2 Environment
DB2 Instance
DB2 DataBase
DB2 DataBase
DB2 Instance
DB2 DataBase
DB2 Environment (db2set)
DB2 Instance (db2i…)
DB2 培训内容纲要
DB2简介
DB2 产品简介 DB2 旳总体构造 DB2 连接
DB2 SQL
数据库对象操作(DDL+) 数据操作(DML) 高级SQL
DB2 管理
数据存储 系统维护 监控和优化
附录
2024/9/22
1
DB2 产品简介
2024/9/22
2
DB2 产品简介
2024/9/22
2024/9/22
19
DB2 SQL
RETRIEVING DATA(查询)
Retrieving the Entire Table Projecting Columns from a Table Changing the Order of the Columns Restricting Rows from a Table Limiting Result Table Size Selecting Columns from Multiple Tables Using Correlation Names DB2 Functions(Row、Column) Subquery(子查询)
DB2 DataBase(db)
2024/9/22
10
DB2 连接
2024/9/22
DB2基础知识

BSDS
系统下包含了一整套系统文件、一套
系统数据库和用户定义的多个
系统 数据库
应用 数据库
应用数据库
■ DB2 Object
CATALOG
DB2 SUBSYSTEM
DIRECTORY OTHER SYSTEM OBJECTS
DATABASE 1
TABLE SPACES1
DATABASE2.etc.
■分区表空间
某个分区可以STOP,不影响其它分区
上例中,STOP 0300—0399:天津地区 有交易查询: WHERE ZONENO=200 因没有涉及到0300-0399分区,查询交易仍然可以成功
■ PARTITION表划分原则
数据量过大的表(超过2G) 并行批量程序涉及的表
■顺序预取 SEQUENTIAL PREFETCH
用于读取连续的页 既可用于在TABLE SPACE SCAN中访问连续的数 据页,也可用于在INDEX SCAN中访问连续的数 据页和索引页 页 页 页 页
页 页 页 页 页 页 页 页 页 页 页 页 页
单个I/O
单个I/O
页
页
页
页
页
页
页
页
TABLE SPACES2
STORAGE GROUP1 VOLUME1 VOLUME2
TABLE1
INDEX1 VIEW1
TABLE2. etc.
INDEX2.etc. VIEW2 VIEW3.etc STORAGE GROUP2 VOLUME3
■ DB2 Objects 概述
■ PARTITION TABLESPACE 的缺点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-9-
选择合适的数据类型: 选择合适的数据类型:
(1)int和char的选择:如果该字段存储的只是包含整形数字形式的代 int和char的选择: 的选择 码或者数字,建议使用对应的int方式表示,以减少存储,提高访问性能。 int方式表示 码或者数字,建议使用对应的int方式表示,以减少存储,提高访问性能。 数据范围-32768~32767,可以选择smallint类型,数据范围smallint类型 数据范围-32768~32767,可以选择smallint类型,数据范围2147483648~2147483647,而超出smallint 可以选择int类型, smallint, int类型 2147483648~2147483647,而超出smallint,可以选择int类型,数据范 9223372036854775808~9223372036854775807,而超出int int, 围-9223372036854775808~9223372036854775807,而超出int,可以 选择bigint类型。 bigint类型 选择bigint类型。 date,time和timestamp的选择 的选择: (2)date,time和timestamp的选择:对于只存储日期或者时间的字 选择日期或者时间类型,而不选择timestamp timestamp, 段,选择日期或者时间类型,而不选择timestamp,对于日期时间类型 的字段,如果基于时间的查询比较多, 的字段,如果基于时间的查询比较多,可以考虑在数据库中分日期和时 间两个字段存储,如果只是数据库内部表示,查询中涉及较少, 间两个字段存储,如果只是数据库内部表示,查询中涉及较少,存储为 timestamp类型 类型。 timestamp类型。 varchar和char的选择与长度定义 如果明确字段的使用长度, 的选择与长度定义: (3)varchar和char的选择与长度定义:如果明确字段的使用长度,使 char类型 如果字段的长度是可变的,而且变化的幅度比较大, 类型, 用char类型,如果字段的长度是可变的,而且变化的幅度比较大,使用 varchar类型可以更好的节省存储空间 合适的评估varchar类型的长度, 类型可以更好的节省存储空间, varchar类型的长度 varchar类型可以更好的节省存储空间,合适的评估varchar类型的长度, 避免以后的维护行长度变大导致行迁移。 避免以后的维护行长度变大导致行迁移。 是否为空与默认值的确定:明确指定数据库中各字段是否为空, (4)是否为空与默认值的确定:明确指定数据库中各字段是否为空,对 于不可空的字段,为方面插入新行而没有为其指定相应的值, 于不可空的字段,为方面插入新行而没有为其指定相应的值,建议指定 默认值。 默认值。
-4-
主要内容: 主要内容:
1、产品介绍 2、数据库数据类型 3、基本的sql与优化建议 基本的sql与优化建议 sql 4、高级sql介绍 高级sql介绍 sql 5、数据库的并发性
-5-
数据类型
数字: small int:-2 768 to +32 767 -2 int:-2 147 483 648 to +2 147 483 647 big int:9 223 372 036 854 775 808 to +9 223 372 036 854 775 807 Real:一个数字的32bit近似值,-3.402E+38 to -1.175E-37, or from 1.175E-37 to 3.402E+38 Double or float:一个数字的64bit近似值,-1.79769E+308 to -2.225E-307, or from 2.225E-307 to 1.79769E+308 Decimal:一个固定位数的压缩的十进制数字 10**31+1 to 10**31-1 字符串: CHAR:定长字符串 最大长度为 254 VARCHAR:变长字符 最大长度为 32 672 Long varchar:最大长度为32 700 ,目前不建议使用。 Clob:最大长度为2Gb。
hh:mm AM or PM 1:30 PM hh.mm.ss hh:mm:ss 13.30.05 13:30:05
IBM European standard EUR
Timestamp的格式: Timestamp的格式: 的格式
yyyy-mm-dd hh:mm:ss.nnnnnn yyyy-mm-8-
DB2数据库SQL基础 DB2数据库SQL基础 (I) 数据库SQL
中国移动通信集团河南有限公司业务支援中 心
-1-
主要内容: 主要内容:
1、产品介绍 2、数据库数据类型 3、基本的sql与优化建议 基本的sql与优化建议 sql 4、高级sql介绍 高级sql介绍 sql 5、数据库的并发性
-2-
-11-
主要内容: 主要内容:
1、产品介绍 2、数据库数据类型 3、基本的sql与优化建议 基本的sql与优化建议 sql 4、高级sql介绍 高级sql介绍 sql 5、数据库的并发性
-12-
SQL定义 SQL定义
SQL是一种面向数据库的通用数据处理语言规范, 能完成以下几类功能:提取查询数据,插入修改删 除数据,生成修改和删除数据库对象,数据库安全 控制,数据库完整性及数据保护控制。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP, DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE, INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT, ROLLBACK)
Format Name International Standards Organization IBM USA standard Japanese Industrial Standard Christian Era Abbreviati Date Format on ISO hh.mm.ss USA JIS Example 13.30.05
-13-
DDL介绍 DDL介绍
DDL—数据库定义语言: • CREATE:用于创建数据库对象。 • DECLARE:除了是创建只在过程中使用的临时表 外,DECLARE语句和CREATE语句非常相似。唯一 可以被声明的对象是表。并且必须放入用户临时表 空间。可以定义程序中的变量与游标等。 • DROP:可以删除任何用CREATE(数据库对象) 和DECLARE(表)创建的对象。 • ALTER:允许修改某些数据库对象的信息。不能 修改索引。
DB2数据类型 数据类型 smallint integer bigint Decimal(p,s) ( ,) Double Date Time Timestamp Char(X) ( ) Varchar(X) ( ) Graphic(X) ( ) Vargraphi | Char[7] Int | Char[12] Long | Char[21] 无 Double Char[11] Char[9] Char[27] Char[X+1] Char[X+1] Wchar_t[X+1] Wchar_t[X+1]
-15-
• 修改表: 修改表: 增加一个列: Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据 类型也不能改变,唯一能改变的是增加varchar 类型的长度。 添加主键: Alter table tabname add primary key(col) 删除主键: Alter table tabname drop primary key(col) • 删除表 删除表:drop table tabname
-3-
产品介绍产品介绍-客户端
运行时客户机(RunClient) 运行时客户机(Run-Time Client) 管理客户机(Administration Client) Client) 管理客户机( 应用程序开发客户机( 应用程序开发客户机(App. Development Client) Client)
产品介绍产品介绍-服务器端
易捷版 (Express Edition ) 工作组服务器版 (Workgroup Server Edition) Edition) 企业服务器版 (Enterprise Server Edition ) 企业服务器版加上数据分区功能 Feature) ( Enterprise Server Edition + Data Partition Feature)
-14-
1、数据库: 、数据库: • 创建数据库:CREATE DATABASE database-name [USING CODESET codeset TERRITORY territory] 注:代码页的问题。 • 删除数据库:drop database dbname 2 、表: • 创建新表: create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) • 根据已有的表创建新表: A:create table tab_new like tab_old B : create table tab_new as select col1,col2… from tab_old definition only
-10-
DB2数据类型与C DB2数据类型与C数据类型匹配 数据类型与
在使用宿主变量前,请注意以下几点: 在使用宿主变量前,请注意以下几点: 宿主变量的长度不能超过30字节。开始的字母不能是EXEC SQL。 30字节 EXEC和 宿主变量的长度不能超过30字节。开始的字母不能是EXEC和SQL。 宿主变量必须在被引用之前定义。 宿主变量必须在被引用之前定义。 一个源程序文件中可以有多个SQL说明段。 SQL说明段 一个源程序文件中可以有多个SQL说明段。 从数据库中Char出一个数字字段(smallint integer、bigint)后必须trim一下 否则char Char出一个数字字段(smallint、 后必须trim一下, char出的字符串有很多空格 从数据库中Char出一个数字字段(smallint、integer、bigint)后必须trim一下,否则char出的字符串有很多空格 宿主变量名在整个程序中必须是唯一的。(这一点与其他数据库的嵌入式sql不同,特别注意) 。(这一点与其他数据库的嵌入式sql不同 宿主变量名在整个程序中必须是唯一的。(这一点与其他数据库的嵌入式sql不同,特别注意) 的数据类型和DB2的数据类型的一些转换关系: DB2的数据类型的一些转换关系 C的数据类型和DB2的数据类型的一些转换关系: