DB2 历史
1983 IBM发布了Database2(简称DB2) forMVS。这标志这DB2的诞生。之所以称为DB2,是应为IBM之前推出早期的数据库产品(就是所谓的DB1——“IMS“)注意:DB1是层次型的数据库,不是关系型的。
1986 System/38(这是一种大型机) V7发布,首次配置了查询优化器,能对存取计划进行优化。这就是现在日后DB2强大的优化器的雏形。此时的DB2还只能在大型机上运行。
1987 IBM推出OS/2 V1.0扩展版(OS/2是一种IBM推出的适合个人机的操作系统),这是OS/2,UNIX,Windows上的DB2的先驱。从此DB2不在局限于大型机,开始对小型机有了支持。
1995 DB2开始支持Windows ,UNIX等多个平台,这是标志性的一年。
1996 DB2更名为DB2 UDB(UDB是“UniversalDatabase”的缩写,意思是“通用数据库”)
1999 DB2完成了对LINUX的支持。
2000 DB2 完成了对XML扩展的支持。
2001 IBM收购informix数据库
2002基于自我调节技术(SMART)的DB2 V8.1出现。
2006 DB2 V9出现,这是划时代的一个版本。是首个混合型数据库(有传统的关系型数据,也有XML层次型数据)。
通过****DB2连接的方法
Runqry 或者STRSQL
DB2的Admin 工具
通过JDBC 等连接
DB2 产品
DB2底层架构
DB2 :DML of SQL
Select 语句
举例说明:
SELECT
select_list
FROM
table_name;
ORDER BY 排序
SELECT
title,
total_pages,
rating
FROM
books
ORDER BY
title ASC;
ASC 升序 or DESC is 降序. 如果不填 默认是升序
EXCEPT 除了
比较两个表中不同,比如表 customers 有,但不在contacts 里面的name 可以select 出来
SELECT
name
FROM
customers
EXCEPT
SELECT
name
FROM
contacts;
SELECT DISTINCT 去重,去掉重复的名字
SELECT
DISTINCT column_name
FROM
table_name;
Select GROUP BY 分组
一般和AVG(), COUNT(), MIN(), MAX() and SUM()连用
举例说明:
每一个出版ID出版了多少本书
SELECT
publisher_id,
COUNT(*) book_count
FROM
books
GROUP BY
publisher_id;
外加内连接,每一个出版人名后面出了多少本书:
SELECT
p.name as publisher,
COUNT(*) book_count
FROM
books b
INNER JOIN publishers p
ON p.publisher_id = b.publisher_id
GROUP BY
p.name
ORDER BY
publisher;
结果:
Insert 单条记录
INSERT INTO P(P#, PNAME, COLOR, WEIGHT, CITY)
VALUES ('P8', 'Sprocket', 'Pink', 14, 'Nice');
Insert 多条记录
INSERT INTO
TEMP (S#, CITY)
SELECT S.S#, S.CITY
FROM S WHERE S.STATUS > 15 ;
Update 单条记录更新
UPDATE P
SET COLOR = 'Yellow' ,
WEIGHT = P.WEIGHT + 5
WHERE P.CITY = 'Paris';
Update多记录更新 把所有颜色是红色的P表内的city 都改成S 表中对应S5的city
UPDATE P
SET CITY = ( SELECT S.CITY
FROM S
WHERE S.S# = 'S5')
WHERE P.COLOR = ' Red '
Delete 多记录语句
DELETE
FROM SP
WHERE 'London‘ = (SELECT S.CITY
FROM S
WHERE S.S# = SP.S#);