- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DB2基础sql学习课案
DB2数据库语法知识1. 创建表,但不创建表的日志 1
2. 复制表结构 2
3. 怎样向表中插入数据? 2
4. 如何修改表中的数据? 2
5. CASE WHEN 和DECODE的用法 3
6.union 和union all的用法 4
7.join、full join、left join、right join的用法 5
8.exists、not exists 和not in的用法 6
9.Delete、alter、drop的区别和用法 7
10.查询一个表中重复的记录 8
11.删除一个表中重复的记录并保留一条相同的记录(即相同的记录只保留一条) 9
12.merge into的用法 9
13.递归查询 10
14.索引 12
15.函数 13
1》聚集函数 13
2》标量函数 15
3》日期函数 17
16.Db2 sql 优化 21
SQL分类DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL-数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
创建表,但不创建表的日志
创建表的日志需要耗费空间,不创建日志可以节约很多空间。
CREATE TABLE sky
(
x_name VARCHAR (20),
x_number INT
)
NOT LOGGED INITIALLY --不在表上创建日志的关键字alter table table_name add column 字段名 类型名;
怎样修改数据类型:
alter table table_name alter column 名 set data type 要修改的类型名;
复制表结构
通过复制表结构,我们可以建一张和父表字段、字段类型都一样的表,复制表结构的关键字为 DEFINITION ONLY。
例:创建一张和SKY表结构一样的表
CREATE TABLE xxxx
AS(
SELECT *
FROM sky
)
DEFINITION ONLY
NOT LOGGED INITIALLY
同时也有另外一种方法:
举例如下:create table xxxx like skyCREATE TABLE xwq
AS(
SELECT id,name FROM tests
)
DEFINITION ONLY
怎样向表中插入数据?
使用INSERT关键字向表中插入数据
举例:向xxxx表中插入一条数据。
INSERT INTO XXXX
VALUES (许文强, 001)
如何修改表中的数据?
举例:将xxxx表中id为5的x_name修改为‘test’,x_number修改为‘10’。UPDATE XXXX
SET (X_NAME, X_NUMBER) = (test, 10)
WHERE ID = 5;
举例:将xxxx表中id为5的x_name,x_number修改为ss表中id为5的x_name,x_number。
UPDATE XXXX
SET (X_NAME, X_NUMBER) =
(SELECT X_NAME, X_NUMBER
FROM SS
WHERE ID = 5)
WHERE ID = 5;
CASE WHEN 和DECODE的用法
举例:查询,在查询结果中将学生名字为‘许文强’的,显示为‘ss’。
方法一使用case when:
SELECT CASE WHEN x_name = 许文强 THEN ss
END x_name FROM XXXX
方法二使用decode:
SELECT decode (x_name, --decode里面可以嵌套函数
许文强,
ss,
x_name) x_name
FROM XXXX
举例:查询,在查询结果中将学生名字为‘许文强’的,显示为‘ss’,将学生名字为‘许文’的,显示为‘KK’
SELECT CASE WHEN x_name = 许文强 THEN ss
WHEN x_name = 许文 THEN KK
ELSE xu
END x_name FROM XXXX
SELECT decode (x_name, --decode里面可以嵌套函数
许文强,
ss,
许文,
文档评论(0)