`

db2数据类型

    博客分类:
  • DB2
阅读更多

内置数据类型可以分成数值型(numeric)、字符串型(character string)、图形字符串(graphic string)、二进制字符串型(binary string)或日期时间型(datetime)。

还有一种叫做 DATALINK 的特殊数据类型。DATALINK 值包含了对存储在数据库以外的文件的逻辑引用。

数值型数据类型包括 SMALLINT、INTEGER、BIGINT、DECIMAL(p,s)、REAL 和 DOUBLE。所有数值都有符号和精度。精度是指除符号以外的二进制或十进制的位数。如果数字的值大

于等于零,就认为符号为正。
*小整型,SMALLINT:小整型是两个字节的整数,精度为 5 位。小整型的范围从 -32,768 到 32,767。
*大整型,INTEGER 或 INT:大整型是四个字节的整数,精度为 10 位。大整型的范围从 -2,147,483,648 到 2,147,483,647。
*巨整型,BIGINT:巨整型是八个字节的整数,精度为 19 位。巨整型的范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
*小数型,DECIMAL(p,s)、DEC(p,s)、NUMERIC(p,s) 或 NUM(p,s):小数型的值是一种压缩十进制数,它有一个隐含的小数点。压缩十进制数将以二-十进制编码(binary-coded

decimal,BCD)记数法的变体来存储。小数点的位置取决于数字的精度(p)和小数位(s)。小数位是指数字的小数部分的位数,它不可以是负数,也不能大于精度。最大精度是

31 位。小数型的范围从 -10**31+1 到 10**31-1。
*单精度浮点数(Single-precision floating-point),REAL:单精度浮点数是实数的 32 位近似值。数字可以为零,或者在从 -3.402E+38 到 -1.175E-37 或从 1.175E-37 到

3.402E+38 的范围内。
*双精度浮点数(Double-precision floating-point),DOUBLE,DOUBLE PRECISION 或 FLOAT:双精度浮点数是实数的 64 位近似值。数字可以为零,或者在从 -1.79769E+308

到 -2.225E-307 或从 2.225E-307 到 1.79769E+308 的范围内。


字符串是字节序列。字符串包括 CHAR(n) 类型的定长字符串和 VARCHAR(n)、LONG VARCHAR 或 CLOB(n) 类型的变长字符串。字符串的长度就是序列中的字节数。
*定长字符串,CHARACTER(n) 或 CHAR(n):定长字符串的长度介于 1 到 254 字节之间。如果没有指定长度,那么就认为是 1 个字节。
*变长字符串,VARCHAR(n)、CHARACTER VARYING(n) 或 CHAR VARYING(n):VARCHAR(n) 类型的字符串是变长字符串,最长可达 32,672 字节。
*LONG VARCHAR:LONG VARCHAR 类型的字符串是变长字符串,最长可达 32,700 字节。
*字符大对象字符串(Character Large Object String),CLOB(n[K|M|G]):CLOB 是变长字符串,最长可以达到 2,147,483,647 字节。如果只指定了 n,那么 n 的值就是最大长

度。如果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 2,097,152)。如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 2,048)。如果指定了 nG,那么

最大长度就是 n*1,073,741,824(n 的最大值是 2)。CLOB 用于存储基于大单字节字符集(single-byte character set,SBCS)字符的数据或基于混合(多字节字符集(MBCS)

和 SBCS)字符的数据。图形字符串是表示双字节字符数据的字节序列。图形字符串包括类型为 GRAPHIC(n) 的定长图形字符串和类型为 VARGRAPHIC(n)、LONG VARGRAPHIC 和

DBCLOB(n) 的变长图形字符串。字符串的长度就是序列中双字节字符的数目。
*定长图形字符串,GRAPHIC(n):定长图形字符串的长度介于 1 到 127 个双字节字符之间。如果没有指定长度,就认为是 1 个双字节字符。
*变长图形字符串,VARGRAPHIC(n):VARGRAPHIC(n) 类型的字符串是变长图形字符串,最大长度可达 16,336 个双字节字符。
*LONG VARGRAPHIC:LONG VARGRAPHIC 类型的字符串是变长图形字符串,最大长度可达 16,350 个双字节字符。
*双字节字符大对象字符串,DBCLOB(n[K|M|G]):双字节字符大对象是变长双字节字符图形字符串,最长可达 1,073,741,823 个字符。如果只指定了 n,那么 n 就是最大长度。如

果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 1,048,576)。如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 1,024)。如果指定了 nG,那么最大长

度就是 n*1,073,741,824(n 的最大值是 1)。DBCLOB 用于存储基于大 DBCS(双字节字符集,double-byte character set)字符的数据。二进制字符串是字节序列。二进制字符

串包括 BLOB(n) 类型的变长字符串,它用于容纳非传统型的数据,诸如图片、语音或混合媒体等,还可以容纳用户定义的类型及用户定义的函数的结构化数据。
* 二进制大对象,BLOB(n[K|M|G]):二进制大对象是变长字符串,最长可达 2,147,483,647 字节。如果只指定了 n,那么 n 就是最大长度。如果指定了 nK,那么最大长度就是

n*1,024(n 的最大值为 2,097,152)。如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 2,048)。如果指定了 nG,那么最大长度就是 n*1,073,741,824(n 的最

大值是 2)。


日期时间型数据类型包括 DATE、TIME 和 TIMESTAMP。日期时间值可在某些算术和字符串操作中使用,而且兼容某些字符串,但它们既不是字符串,也不是数字。
*DATE:DATE 是一个由三部分组成的值(年、月和日)。年份部分的范围是从 0001 到 9999。月份部分的范围是从 1 到 12。日部分的范围是从 1 到 n,其中 n 的值取决于月份

。DATE 列长 10 个字节。
*TIME:TIME 是一个由三部分组成的值(小时、分钟和秒)。小时部分的范围是从 0 到 24。分钟和秒部分的范围都是从 0 到 59。如果小时为 24,分钟和秒的值都是 0。TIME

列长 8 个字节。
*TIMESTAMP:TIMESTAMP 是一个由七部分组成的值(年、月、日、小时、分钟、秒和微秒)。年份部分的范围是从 0001 到 9999。月份部分的范围是从 1 到 12。日部分的范围是

从 1 到 n,其中 n 的值取决于月份。小时部分的范围是从 0 到 24。分钟和秒部分的范围都是从 0 到 59。微秒部分的范围是从 000000 到 999999。如果小时是 24,那么分钟

值、秒的值和微秒的值都是 0。TIMESTAMP 列长 26 个字节。日期时间值的字符串表示:尽管 DATE、TIME 和 TIMESTAMP 的值的内部表示对用户是透明的,日期、时间和时间戳记

也可以用字符串来表示,CHAR 标量函数(请参阅 SQL 的“词类(parts of speech)”)可以用于创建日期时间值的字符串表示。
*日期值的字符串表示是一个以数字开始,长度不少于 8 个字符的字符串。日期值的月份和日部分中前面的零可以省略。
*时间值的字符串表示是以数字开头,长度不少于 4 个字符的字符串。时间值的小时部分前面的零可以省略,秒部分可以完全省略。如果秒的值没有指定,那么就认为是 0。
*时间戳记值的字符串表示是以数字开头,长度不少于 16 个字符的字符串。完整的时间戳记字符串表示形式为 yyyy-mm-dd-hh.mm.ss.nnnnnn。时间戳记值的月、日或小时等几部

分前面的零可以省略,微秒可以截断或完全省略。如果任何时间戳记值的微秒部分尾零被省略掉了,那么将假定空缺的数位上是零。


DB2 基础,入门
一. 安装DB2
有三个选择,可以企业版,也可以只安装客户端。安装完成后,打开”控制中心”可以操作整个DB2,打开”信息中心”可以查看相应的帮助文档.
二. 安装Quest Central for DB2
这两个软件都不需要配置,只要不断点下一步就可以安装成功,安装完成后会在桌面上生成一个 Knowledge Xpert for DB2 快捷方式.这就是它的帮助文档.
三. 在按制中心创建一个实例
1.首先打开DB2“控制中心”,右击“我以编目的系统”,再选择添加,会出现如下页面,单击“发现”然后选择相应主机,会自动填入如下项,最后确定。
2.设置主机:右击刚才新建的实例,出现如下页面,节点名为随意字符,不过必须为1-8 个字节,我们这里假设为TEST,创建实例服务名可以不填,端口是50000(DB2 默认的端口

),然后确定。
3,连接相应的数据库实例:右击TEST,添加,选择相应的数据库实例,点击发选择你需要的数据库,当要操作相应数据库时会提示输入用户名,密码.
四. 创建数据库
1.选择数据库,右击选择”创建”选择”使用向导创建数据库”(注意“建库时务必工”区域“中选择编码方式为utf-8,否则当插入中文时,会有意想不到的错误提示,最典型

的就是提示JDK 版本不兼容)
2.分别填入数据名称,用户表,也可以直接填入数据库名称,点完成.
3.创建表的方式和数据库创建类似,其中显示表的时候可以创建过虑器.如果我想隐藏系统表,设置表名为 not like sys%
五. Quest Central for DB2 使用
1. 简介:Quest Central for Databases 是一种集成化、图形化、跨平台的数据库管理解决方案,可以管理异构环境下的 Oracle、DB2 数据库。Quest Central for Databases 消

除了企业IT人员管理多种数据库时面临的技术障碍,提高了IT 人员工作效率,改善了数据库性能和数据库应用的可用性。

 

2. 使用SQL Editor: 打开Quest Central for db2,点击菜单栏的Tools,选择SQL Editor

3.使用Edit tools: Edit 除了菜单栏分为两个主要模块,上面用于执行的SQL 语句,下面用于显示执行情况以及输出信息,点击左上角的执行按钮,执行SQL
六. 数据类型说明
自己的一些总结:
1.DB2 没有Boolean 型。
2.DB2 表中的列一旦建立不能删除列。


DROP COLUMN:DB2 不允许您删除一个列。我可以想到您希望删除列的三个理由:

回收空间:如果您希望这样做,可以导出您希望保存的数据,删除那个表,用您需要的那些列重新创建表,然后装入这个表。这是否代价高昂?当然是,但是回收空间需要这样或

者 REORGTABLE。这些本来就是代价高昂的操作。
这个列不再是行的逻辑部分:例如,您意识到您的雇员可能有两个地址,并且停止跟踪雇员(employee)表中的地址(雇员表和雇员地址(employee_address)表之间现在有 n:m

关系)。在雇员表上创建一个不包含地址列的视图。如果您真的要用新奇的方法,可以使用 RENAME TABLE 命令给基表一个新的名称,然后将
原始表名作为该视图的名称。您的视图也可以连接雇员表中的有用列和从雇员地址获得的地址。现在我们回到了关系的正道。
列变宽了。如果它是 VARCHAR,那您运气不错。DB2 允许您将 VARCHAR 列最多加宽至表空间(tablespace)中定义的页大小宽度(缺省的 4K 页大小为 4,005,而在 32K 页上最

多为32,672):
3.除了VARCHAR 能增加长度外,其它类型不能修改列属性,也就是上面的第三点如:TT 为表名,第二个为列名ALTER TABLE TT ALTER COLUMNTT SET DATA TYPEVARCHAR(40);
4.不能更换列名:如


ALTER TABLE tt RENAME COLUMN tt TO t3;

数据类型存放在:sysibm.SYSDATATYPES 表中

数据类型 类型 特性 示例或范围

数值型
SMALLINT 数字 长度为 2 字节精度为 5 位 范围为-32768 至 32767
INTEGER 数字 长度为 4 字节精度为 10 位 范围为-2147483648 至 2147483647
BIGINT 数字 长度为八个字节的整数,精度为 19 位范围为-9,223,372,036,854,775,808 到9,223,372,036,854,775,807
REAL 数字 单精度浮点32 位近似值 范围为否-3.402E+38 至-1.175E-37 或 1.175E-37 至-3.402E+38 或零
DOUBLE 数字 双精度浮点64 位近似值 范围为-1.79769E+308 至-2.225E-307 或 2.225E-307 至 1.79769E+308 或零
DECIMAL(5,2) 数字 精度为 5,小数位为 2 范围为 -10**31+1 至 10**31-1 ,小数位是指数字的小数部分的位数,不能大于精度。最大精度是 31 位。
字符串
CHAR(15) 定长字符串 最大长度为 254 'Sunny day '
VARCHAR(15) 变长字符 最大长度为 4000 'Sunny day'
LONG VARCHAR 变长字符串 最长可达 32,700 字节
CLOB 字符大对象 变长字符串 最长可达2,147,483,647 字节(容量最大
2G)
BLOB 变长字符串 最长可达 2,147,483,647 字节(容量最大
2G)
日期时间型
DATE 日期时间 三部分值 1991-10-27
TIME 日期时间 三部分值 13.30.05
TIMESTAMP 日期时间 七部分值 1991-10-27-13:
30“05.000000
数值型数据类型说明:
DB2 内置数据类型可以分成
数值型(numeric)、
字符串型(character string)、
图形字符串(graphic string)、
二进制字符串型(binary string)
日期时间型(datetime)。
特殊数据类型(DATALINK ),DATALINK 值包含了对存储在数据库以外的文件的逻辑引用。
数值型数据类型包括 SMALLINT、INTEGER、BIGINT、DECIMAL(p,s)、REAL 和 DOUBLE。
所有数值都有符号和精度。精度是指除符号以外的二进制或十进制的位数。如果数字的
值大于等于零,就认为符号为正。
*小整型,SMALLINT:小整型是两个字节的整数,精度为 5 位。小整型的范围从 -32,768
到 32,767。
*大整型,INTEGER 或 INT:大整型是四个字节的整数,精度为 10 位。大整型的范围
从 -2,147,483,648 到 2,147,483,647。
*巨整型,BIGINT:巨整型是八个字节的整数,精度为 19 位。巨整型的范围从
-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
* 小数型,DECIMAL(p,s)、DEC(p,s)、NUMERIC(p,s) 或 NUM(p,s):小数型的值是一种
压缩十进制数,它有一个隐含的小数点。压缩十进制数将以二-十进制编码
(binary-coded decimal,BCD)记数法的变体来存储。小数点的位置取决于数字的精
度(p)和小数位(s)。小数位是指数字的小数部分的位数,它不可以是负数,也 不
能大于精度。最大精度是 31 位。小数型的范围从 -10**31+1 到 10**31-1。
*单精度浮点数(Single- precision floating-point),REAL:单精度浮点数是实数
的 32 位近似值。数字可以为零,或者在从 -3.402E+38 到 -1.175E-37 或从
1.175E-37 到 3.402E+38 的范围内。
*双精度浮点数 (Double-precision floating-point),DOUBLE,DOUBLE PRECISION 或
FLOAT:双精度浮点数是实数的 64 位近似值。数字可以为零,或者在从 -1.79769E+308
到 -2.225E-307 或从 2.225E-307 到 1.79769E+308 的范围内。
字符串是字节序列。字符串包括 CHAR(n) 类型的定长字符串和 VARCHAR(n)、LONG
VARCHAR 或 CLOB(n) 类型的变长字符串。字符串的长度就是序列中的字节数。
*定长字符串,CHARACTER(n)或 CHAR(n):定长字符串的长度介于 1 到 254 字节之间。
如果没有指定长度,那么就认为是 1 个字节。
*变长字符串,VARCHAR(n)、CHARACTER VARYING(n) 或 CHAR VARYING(n):VARCHAR(n)
类型的字符串是变长字符串,最长可达 32,672 字节。
*LONG VARCHAR:LONG VARCHAR 类型的字符串是变长字符串,最长可达 32,700 字节。
* 字符大对象字符串(Character Large Object String),CLOB(n[K|M|G]):CLOB 是
变长字符串,最长可以达到 2,147,483,647 字节。如果只指定了 n,那么 n 的值就是
最大长度。如果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 2,097,152)。
如果指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 2,048)。如果指定
了 nG,那么最大长度就是 n*1,073,741,824(n 的最大值是 2)。CLOB 用于存储基于
大单字节字符集(single-byte character set,SBCS)字符的数据或基于混合(多字
节字符集(MBCS)和 SBCS)字符的数据。图形字符串是表示双字节字符数据的字节序
列。图形字符串包括类型为 GRAPHIC(n) 的定长图形字符串和类型为 VARGRAPHIC(n)、
LONG VARGRAPHIC 和 DBCLOB(n) 的变长图形字符串。字符串的长度就是序列中双字节
字符的数目。
*定长图形字符串,GRAPHIC(n):定长图形字符串的长度介于 1 到 127 个双字节字符
之间。如果没有指定长度,就认为是 1 个双字节字符。
*变长图形字符串,VARGRAPHIC(n):VARGRAPHIC(n) 类型的字符串是变长图形字符串,
最大长度可达 16,336 个双字节字符。
*LONG VARGRAPHIC:LONG VARGRAPHIC 类型的字符串是变长图形字符串,最大长度可达
16,350 个双字节字符。
* 双字节字符大对象字符串,DBCLOB(n[K|M|G]):双字节字符大对象是变长双字节字符
图形字符串,最长可达 1,073,741,823 个字符。如果只指定了 n,那么 n 就是最大长
度。如果指定了 nK,那么最大长度就是 n*1,024(n 的最大值为 1,048,576)。如果
指定了 nM,那么最大长度就是 n*1,048,576(n 的最大值为 1,024)。如果指定了 nG,
那么最大长度就是 n*1,073,741,824(n 的最大值是 1)。DBCLOB 用于存储基于大 DBCS
(双字节字符集,double-byte character set)字符的数据。二进制字符串是字节序
列。二进制字符串包括 BLOB(n) 类型的变长字符串,它用于容纳非传统型的数据,诸
如图片、语音或混合媒体等,还可以容纳用户定义的类型及用户定义的函数的结构化数
据。
* 二进制大对象,BLOB(n[K|M|G]):二进制大对象是变长字符串,最长可达
2,147,483,647 字节。如果只指定了 n,那么 n 就是最大长度。如果指定了 nK,那么
最大长度就是 n*1,024(n 的最大值为 2,097,152)。如果指定了 nM,那么最大长度
就是 n*1,048,576(n 的最大值为 2,048)。如果指定了 nG,那么最大长度就是
n*1,073,741,824(n 的最大值是 2,也就是容量为2G)。
日期时间型数据类型包括 DATE、TIME 和 TIMESTAMP。日期时间值可在某些算术和字符
串操作中使用,而且兼容某些字符串,但它们既不是字符串,也不是数字。
*DATE:DATE 是一个由三部分组成的值(年、月和日)。年份部分的范围是从 0001 到
9999。月份部分的范围是从 1 到 12。日部分的范围是从 1 到 n,其中 n 的值取决于
月份。DATE 列长 10 个字节。
*TIME:TIME 是一个由三部分组成的值(小时、分钟和秒)。小时部分的范围是从 0 到
24。分钟和秒部分的范围都是从 0 到 59。如果小时为 24,分钟和秒的值都是 0。TIME
列长 8 个字节。
*TIMESTAMP: TIMESTAMP 是一个由七部分组成的值(年、月、日、小时、分钟、秒和
微秒)。年份部分的范围是从 0001 到 9999。月份部分的范围是从 1 到 12。日部分
的范围是从 1 到 n,其中 n 的值取决于月份。小时部分的范围是从 0 到 24。分钟和
秒部分的范围都是从 0 到 59。微秒部分的范围是从 000000 到 999999。如果小时是
24,那么分钟值、秒的值和微秒的值都是 0。TIMESTAMP 列长 26 个字节。日期时间值
的字符串表示:尽管 DATE、TIME 和 TIMESTAMP 的值的内部表示对用户是透明的,日
期、时间和时间戳记也可以用字符串来表示,CHAR 标量函数(请参阅 SQL 的“词类
(parts of speech)”)可以用于创建日期时间值的字符串表示。
*日期值的字符串表示是一个以数字开始,长度不少于 8 个字符的字符串。日期值的月
份和日部分中前面的零可以省略。
*时间值的字符串表示是以数字开头,长度不少于 4 个字符的字符串。时间值的小时部
分前面的零可以省略,秒部分可以完全省略。如果秒的值没有指定,那么就认为是 0。
* 时间戳记值的字符串表示是以数字开头,长度不少于 16 个字符的字符串。完整的时
间戳记字符串表示形式为 yyyy-mm-dd-hh.mm.ss.nnnnnn。时间戳记值的月、日或小时
等几部分前面的零可以省略,微秒可以截断或完全省略。如果任何时间戳记值的微秒部
分尾零被省略掉了,那么将假定空缺的数位上是零。
七. 附1:常用的DB2 命令
DB2 有自带的命令中心,但是命令中心没有关键字颜色提示,建议使用Quest Central for
db2
常用命令列表:
1. 建立数据库DB2_GCB
CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB
USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ
32
2. 连接数据库
connect to sample1 user db2admin using 8301206
3. 建立别名
create alias db2admin.tables for sysstat.tables;
CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS
create alias db2admin.columns for syscat.columns;
create alias guest.columns for syscat.columns;
4. 建立表
create table zjt_tables as
(select * from tables) definition only;
create table zjt_views as
(select * from views) definition only;
5. 插入记录
insert into zjt_tables select * from tables;
insert into zjt_views select * from views;
6. 建立视图
create view V_zjt_tables as select tabschema,tabname from zjt_tables;
7. 建立触发器
CREATE TRIGGER zjt_tables_del
AFTER DELETE ON zjt_tables
REFERENCING OLD AS O
FOR EACH ROW MODE DB2SQL
Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabna
me,1,10))
8. 建立唯一性索引
CREATE UNIQUE INDEX I_ztables_tabname
ON zjt_tables(tabname);
9. 查看表
select tabname from tables
where tabname='ZJT_TABLES';
10. 查看列
select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长

from columns
where tabname='ZJT_TABLES';
11. 查看表结构
db2 describe table user1.department
db2 describe select * from user.tables
12. 查看表的索引
db2 describe indexes for table user1.department
13. 查看视图
select viewname from views
where viewname='V_ZJT_TABLES';
14. 查看索引
select indname from indexes
where indname='I_ZTABLES_TABNAME';
15. 查看存贮过程
SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)
FROM SYSCAT.PROCEDURES;
17. 重新连接
connect reset
18. 中断数据库连接
disconnect db2_gcb
19. view application
LIST APPLICATION;
20. kill application
FORCE APPLICATION(0);
db2 force applications all (强迫所有应用程序从数据库断开)
21. lock table
lock table test in exclusive mode
22. 共享
lock table test in share mode
23. 显示当前用户所有表
list tables
24. 列出所有的系统表
list tables for system
25. 显示当前活动数据库
list active databases
26. 查看命令选项
list command options
27. 系统数据库目录
LIST DATABASE DIRECTORY
28. 表空间
list tablespaces
29. 表空间容器
LIST TABLESPACE CONTAINERS FOR
Example: LIST TABLESPACE CONTAINERS FOR 1
30. 显示用户数据库的存取权限
GET AUTHORIZATIONS
31. 启动实例
DB2START
32. 停止实例
db2stop
33. 表或视图特权
grant select,delete,insert,update on tables to user
grant all on tables to user WITH GRANT OPTION
34. 程序包特权
GRANT EXECUTE
ON PACKAGE PACKAGE-name
TO PUBLIC
35. 模式特权
GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER
36. 数据库特权
grant connect,createtab,dbadm on database to user
37. 索引特权
grant control on index index-name to user
38. 信息帮助 (? XXXnnnnn )
例:? SQL30081
39. SQL 帮助(说明 SQL 语句的语法)
help statement
例如,help SELECT
40. SQLSTATE 帮助(说明 SQL 的状态和类别代码)
? sqlstate 或 ? class-code
41. 更改与"管理服务器"相关的口令
db2admin setid username password
42. 创建 SAMPLE 数据库
db2sampl
db2sampl F:(指定安装盘)
43. 使用操作系统命令
! dir
44. 转换数据类型 (cast)
SELECT EMPNO, CAST(RESUME AS VARCHAR(370))
FROM EMP_RESUME
WHERE RESUME_FORMAT = 'ascii'
45. UDF
要运行 DB2 Java 存储过程或 UDF,还需要更新服务器上的 DB2 数据库管
理程序配置,以包括在该机器上安装 JDK 的路径
db2 update dbm cfg using JDK11_PATH d:"sqllib"java"jdk
TERMINATE
update dbm cfg using SPM_NAME sample
46. 检查 DB2 数据库管理程序配置
db2 get dbm cfg
47. 检索具有特权的所有授权名
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEA
UTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUT
H
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUA
UTH
ORDER BY GRANTEE, GRANTEETYPE, 3
create table yhdab
(id varchar(10),
password varchar(10),
ywlx varchar(10),
kh varchar(10));
create table ywlbb
(ywlbbh varchar(8),
ywmc varchar(60))
48. 修改表结构
alter table yhdab ALTER kh SET DATA TYPE varchar(13);
alter table yhdab ALTER ID SET DATA TYPE varchar(13);
alter table lst_bsi alter bsi_money set data type int;
insert into yhdab values
('20000300001','123456','user01','20000300001'),
('20000300002','123456','user02','20000300002');
49.增加licence
db2licm -a path(如d:"DB2"db2udbee.lic)
八. 附2:列函数
列函数对列中的一组值进行运算以得到单个结果值。下列就是一些列函数的
示例。
AVG
返回某一组中的值除以该组中值的个数的和
COUNT
返回一组行或值中行或值的个数
MAX
返回一组值中的最大值
MIN
返回一组值中的最小值
九. 附3:标量函数
标量函数对值进行某个运算以返回另一个值。下列就是一些由DB2 通用数
据库提供的标量函数的示例。
ABS
返回数的绝对值
HEX
返回值的十六进制表示
LENGTH
返回自变量中的字节数(对于图形字符串则返回双字节字符数。)
YEAR
抽取日期时间值的年份部分
二进制大对象 (BLOB) 字符串。
字符大对象 (CLOB) 字符串,它的字符序列可以是单字节字符或多字节字
符,或这两者的组合。
双字节字符大对象 (DBCLOB) 字符串,它的字符序列是双字节字符。
数据库范式
第一种规范形式:表中的每一行和每一列均有一个值,永远不会是一组值。
第二种规范形式:不在关键字中的每一列提供取决于整个关键字的事实。
第三种规范形式:每个非关键字列提供与其他非关键字列无关并只取决于该
关键字的事实。
第四种规范形式:没有行包含有关一个实体的两个或更多个独立的多值事
实。
十. DB2 重装
1.打开控制面板选择添加删除程序中,卸掉DB2 应该程序。
2.DB2 在安装后会在安装目录相应的盘下生成一个DB2 的文件夹,如:C:"DB2"NODE0000
(安装在D 盘就为:D:"DB2"NODE0000),卸载后应用程序后,再删除NODE0000 文件就可以了,不如不删NODE0000,重装时会报错,而且重装后DB2 跑不起来


分享到:
评论

相关推荐

    Oracle与DB2数据类型分类对应说明

    Oracle 与 DB2 数据类型分类对应说明 Oracle 和 DB2 是两个广泛应用的关系数据库管理系统,它们都具有丰富的数据类型,用于存储和管理各种类型的数据。然而,在实际应用中,我们经常需要在 Oracle 和 DB2 之间进行...

    db2数据类型详解

    ### DB2 数据类型详解 #### 一、概述 DB2 是 IBM 开发的一款关系型数据库管理系统,被广泛应用于企业级环境中。为了满足不同场景下的需求,DB2 提供了多种内置的数据类型,主要包括数值型、字符串型、图形字符串型...

    Oracle与DB2数据类型的分类对应说明

    Oracle 与 DB2 数据类型的分类对应说明 在数据类型方面,Oracle 和 DB2 都提供了多种数据类型以满足不同的应用需求。然而,这两种数据库管理系统之间的数据类型并不完全相同,本文将对 Oracle 和 DB2 数据类型进行...

    db2数据类型介绍(比较全面)

    ### DB2 数据类型详解 #### 一、概述 DB2 是 IBM 开发的一款关系型数据库管理系统,被广泛应用于企业级应用环境中。为了更好地理解和使用 DB2 数据库,本篇文章将详细介绍 DB2 中的各种数据类型及其特点。DB2 的...

    Oracle与DB2数据类型的对应说明书

    Oracle与DB2数据类型的对应说明书 在软件开发和数据库管理中,了解不同的数据库管理系统之间的数据类型对应关系至关重要。作为dba和软件开发人员,了解Oracle和DB2之间的数据类型对应关系是必备的知识。本文将详细...

    DB2数据类型

    ### DB2 数据类型详解 #### 一、概述 在 IBM DB2 数据库系统中,数据类型定义了存储在表中的数据格式以及可以对该数据执行的操作。合理选择数据类型不仅可以提高查询性能,还能节省存储空间。本文将详细介绍 DB2 ...

    DB2数据库数据类型

    DB2 数据类型详解 DB2 数据库提供了多种数据类型,包括数值型、字符串型、图形字符串型、日期时间型和特殊的 DATALINK 类型。这些数据类型可以满足不同的应用场景和业务需求。 数值型数据类型 数值型数据类型包括...

    db2 修改表数据类型

    ### DB2修改表数据类型详解 在DB2数据库系统中,有时我们需要更改现有表中列的数据类型以适应新的业务需求或提高数据处理效率。本文将详细介绍如何在DB2中修改表的数据类型,并通过一个具体的例子来说明整个过程。 ...

    DB2数据库中的各数据类型

    DB2数据库是一个强大的关系型数据库管理系统,其内部支持多种数据类型,这些数据类型的设计使得DB2能够处理各种复杂的数据结构和类型。以下是DB2数据库中主要数据类型的详细说明: 1. **数值型数据类型**: - **...

    Oracle 表定义到 DB2 数据类型

    本主题将详细探讨如何将Oracle数据库中的表定义映射到DB2数据库的数据类型。Oracle和DB2作为两种广泛使用的数据库管理系统,它们各自拥有独特的数据类型体系。理解这些映射关系有助于确保数据的一致性和兼容性。 1....

    db2数据类型,word文档

    DB2 数据库管理系统支持多种数据类型,用于存储各种不同类型的数据,包括数值、字符串、图形、二进制以及日期和时间。这些数据类型的精确定义和使用是数据库设计的基础,确保了数据的有效存储和处理。 首先,我们来...

    Oracle与DB2数据类型的分类对应说明分享.pdf

    本篇文章主要探讨了 Oracle 数据类型与 DB2/400 数据类型的分类对应关系,帮助用户在进行数据迁移、集成或跨平台开发时更好地理解和处理数据类型转换。 1. **日期和时间类型**: - Oracle 的 `DATE` 类型包含年、...

    COBOL_DB2_数据类型对应关系

    ### COBOL与DB2数据类型对应关系详解 #### 一、引言 在使用COBOL编程语言进行开发时,经常会遇到需要与DB2数据库交互的情况。为了确保数据能够准确无误地从数据库传递到程序中,或者从程序传递到数据库中,必须...

    db2_数据类型_详细解析

    ### DB2数据库数据类型详解 #### 引言 在DB2数据库系统中,数据类型扮演着至关重要的角色,它们定义了如何存储、处理以及检索数据。深入理解DB2中的各种数据类型,对于优化数据库设计、提升查询性能以及确保数据...

    Db2基本数据类型

    Db2 基本数据类型 Db2 是一种关系数据库管理系统,它提供了多种基本数据类型,用于存储和处理不同的数据形式。这些基本数据类型可以分为字符串类型、数字类型、日期时间类型和二进制类型等。 字符串类型 Db2 提供...

    Oracle和DB2的数据类型比较

    ### Oracle和DB2的数据类型比较 #### 一、概述 本文旨在对比Oracle和DB2/400数据库管理系统中的数据类型,并重点分析日期和时间类型的差异。由于Oracle和DB2/400在数据类型的定义和实现上存在差异,因此在进行...

    db2V9730认证练习五表视图索引.pdf

    以下是一些关于DB2数据类型的练习题及其相关知识点: 1. 数据类型:正确的DB2数据类型是B. INTERVAL。DB2支持多种数据类型,如INTERVAL用于存储时间间隔,而NUMBER、BYTE和NUM不是DB2的标准数据类型。 2. 变长数据...

    db2V9730认证练习五(表,视图,索引)借鉴.pdf

    1. DB2数据类型 DB2提供了多种数据类型供用户使用,包括数值类型、字符类型、日期和时间类型、大对象类型等。每种数据类型在存储和使用上都有特定的规则和限制。例如,NUMERIC数据类型用于存储精确的数值数据,而...

    IBM DB2 700 认证考试题库

    #### 三、DB2数据类型与表结构设计 - **数据类型**:掌握DB2支持的各种数据类型,如整数类型(INT, SMALLINT)、字符类型(CHAR, VARCHAR)、日期时间类型(DATE, TIMESTAMP)等,并理解其适用场景。 - **表结构设计**:...

Global site tag (gtag.js) - Google Analytics