OracleDatabase11gSQL开发指南PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:史新元编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2008
- ISBN:9787302185895
- 页数:600 页
第1章 简介 1
1.1关系数据库简介 2
1.2结构化查询语言(SQL)简介 2
1.3使用SQL*Plus 4
启动SQL*Plus 4
从命令行启动SQL*Plus 5
使用SQL*Plus执行SELECT语句 6
1.4 SQL Developer 7
1.5创建store模式 9
运行SQL*Plus脚本创建store模式 9
用来创建store模式的DDL语句 10
1.6添加、修改、删除行 18
向表中添加行 18
修改表中的现有行 19
从表中删除行 20
1.7 BINARY_FLOAT和BINARY_DOUBLE数据类型 21
BINARY_FLOAT和BINARY_DOUBLE的优点 21
在表中使用BINARY_FLOAT和BINARY_DOUBLE 21
特殊值 22
1.8退出SQL*Plus 23
1.9 Oracle PL/SQL简介 23
1.10小结 24
第2章 从数据库表中检索信息 25
2.1对单表执行SELECT语句 25
2.2选择一个表中的所有列 26
2.3使用WHERE子句过滤行 27
2.4理解行标识符 27
2.5理解行号 28
2.6执行算术运算 28
日期运算 29
列运算 30
2.7使用列别名 31
2.8使用连接操作合并列的输出结果 32
2.9理解空值 33
2.10禁止显示重复行 34
2.11比较值 35
2.12使用SQL操作符 37
使用LIKE操作符 37
使用IN操作符 38
使用BETWEEN操作符 39
2.13使用逻辑操作符 40
2.14理解操作符的优先级 41
2.15 使用ORDER BY子句对行进行排序 41
2.16执行使用两个表的SELECT语句 42
2.17使用表别名 44
2.18笛卡尔积 45
2.19执行使用多于两个表的SELECT语句 46
2.20连接条件和连接类型 47
不等连接 47
外连接 48
自连接 51
2.21使用SQL/92语法执行连接 52
使用SQL/92标准语法执行两个表的内连接 53
使用USING关键字简化连接 53
使用SQL/92执行多于两个表的内连接 54
使用SQL/92执行多列的内连接 55
使用SQL/92执行外连接 55
使用SQL/92执行自连接 56
使用SQL/92执行交叉连接 57
2.22小结 57
第3章 使用SQL*Plus 59
3.1查看表结构 60
3.2编辑SQL语句 60
3.3保存、检索并运行文件 62
3.4格式化列 65
3.5设置页面大小 67
3.6设置行大小 68
3.7清除列格式 68
3.8使用变量 69
临时变量 69
已定义变量 72
3.9创建简单报表 74
在脚本中使用临时变量 74
在脚本中使用已定义变量 75
向脚本中的变量传递值 75
添加页眉和页脚 76
计算小计 78
3.10从SQL*Plus获取帮助信息 79
3.11自动生成SQL语句 80
3.12断开数据库连接并退出SQL*Plus 81
3.13小结 81
第4章 使用简单函数 83
4.1使用单行函数 84
字符函数 84
数字函数 92
转换函数 96
正则表达式函数 102
4.2使用聚合函数 108
AVG函数 109
COUNT函数 110
MAX和MIN函数 110
STDDEV函数 111
SUM函数 111
VARIANCE函数 112
4.3对行进行分组 112
使用GROUP BY子句对行进行分组 112
调用聚合函数的错误用法 115
使用HAVING子句过滤行组 116
组合使用WHERE和GROUPBY子句 117
组合使用WHERE、 GROUPBY和HAVING子句 117
4.4小结 118
第5章 日期和时间的存储与处理 119
5.1几个简单的存储和检索日期的例子 120
5.2使用TO_CHAR()和TO_DATE()转换时间值 121
使用TO_CHAR()将时间值转换为字符串 121
使用TO_DATE()将字符串转换为时间值 125
5.3设置默认的日期格式 128
5.4 Oracle对2位年份的处理 129
使用YY格式 129
使用RR格式 130
5.5使用时间值函数 131
ADD_MONTHS函数 131
LAST_DAY函数 132
MONTHS_BETWEEN函数 133
NEXT_DAY函数 133
ROUND函数 133
SYSDATE 134
TRUNC函数 134
5.6理解时区 135
与时区有关的函数 136
数据库时区和会话时区 136
获取时区的时差 137
获取时区名 138
将时间值从一个时区转换为另一个时区 138
5.7使用时间戳 139
使用时间戳类型 139
与时间戳有关的函数 143
5.8使用时间间隔 148
使用INTERVAL YEAR TO MONTH类型 149
使用INTERVAL DAY TO SECOND类型 150
与时间间隔有关的函数 152
5.9小结 153
第6章 子查询 155
6.1子查询的类型 155
6.2编写单行子查询 156
在WHERE子句中使用子查询 156
使用其他单行操作符 157
在HAVING子句中使用子查询 157
在FROM子句中使用子查询(内联视图) 159
可能碰到的错误 159
6.3编写多行子查询 160
在多行子查询中使用IN操作符 161
在多行子查询中使用ANY操作符 162
在多行子查询中使用ALL操作符 162
6.4编写多列子查询 162
6.5编写关联子查询 163
关联子查询的例子 163
在关联子查询中使用EXISTS和NOT EXIST 164
6.6编写嵌套子查询 166
6.7编写包含子查询的UPDATE和DELETE语句 168
编写包含子查询的UPDATE语句 168
编写包含子查询的DELETE语句 168
6.8小结 169
第7章 高级查询 171
7.1使用集合操作符 172
示例表 172
使用UNION ALL操作符 173
使用UNION操作符 174
使用INTERSECT操作符 175
使用MINUS操作符 175
组合使用集合操作符 176
7.2使用TRANSLATE函数 178
7.3使用DECODE()函数 179
7.4使用CASE表达式 181
使用简单CASE表达式 181
使用搜索CASE表达式 182
7.5层次化查询 183
示例数据 183
使用CONNECT BY和START WITH子句 185
使用伪列LEVEL 185
格式化层次化查询的结果 186
从非根节点开始遍历 187
在START WITH子句中使用子查询 187
从下向上遍历树 188
从层次查询中删除节点和分支 188
在层次化查询中加入其他条件 189
7.6使用扩展的GROUP BY子句 190
7.7使用ROLLUP子句 192
使用CUBE子句 194
使用GROUPING函数 195
使用GROUPING SETS子句 198
使用GROUPING_ID函数 199
在GROUP BY子句中多次使用一个列 201
使用GROUP_ID函数 201
7.8使用分析函数 203
示例表 203
使用评级函数 204
使用反百分点函数 211
使用窗口函数 211
使用报表函数 216
使用LAG和LEAD函数 218
使用FIRST和LAST函数 219
使用线性回归函数 219
使用假想评级与分布函数 221
7.9使用MODEL子句 221
MODEL子句示例 222
用位置标记和符号标记访问数据单元 223
用BETWEEN和AND返回特定范围内的数据单元 224
用ANY和IS ANY访问所有的数据单元 224
用CURRENTV()获取某个维度的当前值 225
用FOR循环访问数据单元 226
处理空值和缺失值 227
更新已有的单元 229
7.10使用PIVOT和UNPIVOT子句 230
PIVOT子句示例 230
转换多个列 231
在转换中使用多个聚合函数 232
使用UNPIVOT子句 233
7.11小结 234
第8章 修改表的内容 237
8.1使用INSERT语句添加行 237
省略列的列表 239
为列指定空值 239
在列值中使用单引号和双引号 239
从一个表向另外一个表复制行 239
8.2使用UPDATE语句修改行 240
8.3 RETURNING子句 241
8.4使用DELETE语句删除行 242
8.5数据库的完整性 242
主键约束 242
外键约束 243
8.6使用默认值 244
8.7使用MERGE合并行 245
8.8数据库事务 247
事务的提交和回滚 247
事务的开始与结束 248
保存点 249
事务的ACID特性 251
并发事务 251
事务锁 252
事务隔离级别 253
SERIALIZABLE事务的一个例子 254
8.9查询闪回 254
使用闪回的授权 254
时间查询闪回 255
系统变更号查询闪回 256
8.10小结 258
第9章 用户、特权和角色 259
9.1用户 260
创建用户 260
修改用户密码 261
删除用户 261
9.2系统特权 262
向用户授予系统特权 263
检查授予用户的系统特权 263
使用系统特权 264
撤消用户的系统特权 264
9.3对象特权 265
向用户授予对象特权 265
检查已授予的对象特权 266
检查已接受的对象特权 267
使用对象特权 269
同名对象 269
公共同名对象 270
撤消用户的对象特权 271
9.4角色 271
创建角色 271
为角色授权 272
将角色授予用户 272
检查授予用户的角色 273
检查授予角色的系统特权 274
检查授予角色的对象特权 274
使用授予角色的特权 276
默认角色 276
撤消角色 277
从角色中撤消特权 277
删除角色 277
9.5审计 277
执行审计需要的特权 277
审计示例 278
审计跟踪视图 279
9.6小结 280
第10章 创建表、序列、索引和视图 281
10.1表 282
创建表 282
获得有关表的信息 283
获得表中列的信息 284
修改表 285
重命名表 294
向表中添加注释 294
截断表 295
删除表 295
10.2序列 295
创建序列 295
获取有关序列的信息 297
使用序列 298
使用序列填充主键 299
修改序列 300
删除序列 301
10.3索引 301
创建B-树索引 302
创建基于函数的索引 303
获取有关索引的信息 303
获取列索引的信息 304
修改索引 304
删除索引 305
创建位图索引 305
10.4视图 305
创建并使用视图 306
修改视图 313
删除视图 314
10.5闪回数据归档 314
10.6小结 316
第11章PL/SQL编程简介 317
11.1块结构 318
11.2变量和类型 319
11.3条件逻辑 320
11.4循环 320
简单循环 321
WHILE循环 322
FOR循环 322
11.5游标 323
步骤1:声明用于保存列值的变量 323
步骤2:声明游标 323
步骤3:打开游标 324
步骤4:从游标中取得记录 324
步骤5:关闭游标 325
完整的示例:product_cursor.sql 325
游标与FOR循环 326
OPEN-FOR语句 327
无约束游标 329
11.6异常 330
ZERO_DIVIDE异常 332
DUP_VAL_ON_INDEX异常 333
INVALID_NUMBER异常 333
OTHERS异常 333
11.7过程 334
创建过程 334
调用过程 337
获取有关过程的信息 338
删除过程 338
查看过程中的错误 338
11.8函数 339
创建函数 339
调用函数 340
获取有关函数的信息 341
删除函数 341
11.9包 341
创建包规范 342
创建包体 342
调用包中的函数和过程 344
获取有关包中函数和过程的信息 344
删除包 345
11.10触发器 345
触发器运行的时机 345
设置示例触发器 345
创建触发器 346
激活触发器 347
获取有关触发器的信息 348
禁用和启用触发器 350
删除触发器 350
11.11 Oracle Database 11 g新增加的PL/SQL特性 350
SIMPLE_INTEGER类型 350
在PL/SQL中使用序列 351
PL/SQL本地机器代码生成 352
11.12小结 353
第12章 数据库对象 355
12.1对象简介 356
12.2创建对象类型 356
12.3使用DESCRIBE获取有关对象类型的信息 358
12.4在数据库表中使用对象类型 359
列对象 359
对象表 361
对象标识符和对象引用 365
比较对象值 367
12.5在PL/SQL中使用对象 369
get_products()函数 370
display_product()过程 371
insert_product()过程 372
update_product_price()过程 373
get_product()函数 373
update_product()过程 374
get_product_ref()函数 375
delete_product()过程 375
product_lifecycle()过程 376
product_lifecycle2()过程 377
12.6类型继承 378
12.7用子类型对象代替超类型对象 380
SQL例子 380
PL/SQL例子 381
NOT SUBSTITUTABLE对象 382
12.8其他有用的对象函数 383
IS OF() 383
TREAT() 387
SYS_TYPEID() 391
12.9 NOT INSTANTIABLE对象类型 391
12.10用户自定义的构造函数 393
12.11重载方法 396
12.12通用调用 398
12.13小结 400
第13章 集合 401
13.1集合简介 401
13.2创建集合类型 402
创建变长数组类型 402
创建嵌套表类型 403
13.3使用集合类型定义表列 403
使用变长数组类型定义表列 403
使用嵌套表类型定义表列 404
13.4获取集合信息 404
获取变长数组信息 404
获得嵌套表信息 405
13.5填充集合元素 407
填充变长数组元素 407
填充嵌套表元素 407
13.6检索集合元素 408
检索变长数组元素 408
检索嵌套表元素 409
13.7使用TABLE()将集合视为一系列行 409
将TABLE()用于变长数组 410
将TABLE()用于嵌套表 411
13.8更改集合元素 411
更改变长数组元素 411
更改嵌套表元素 412
13.9使用映射方法比较嵌套表的内容 413
13.10使用CAST()将集合从一种类型转换为另一种类型 415
使用CAST()将变长数组转换为嵌套表 416
使用CAST()将嵌套表转换为变长数组 416
13.11在PL/SQL中使用集合 417
操作变长数组 417
操作嵌套表 419
PL/SQL集合方法 421
13.12多级集合类型 431
13.13 Oracle Database 10g对集合的增强 433
关联数组 434
更改元素类型的大小 435
增加变长数组的元素数目 435
在临时表中使用变长数组 435
为嵌套表的存储表使用不同的表空间 435
嵌套表对ANSI的支持 436
13.14小结 444
第14章 大对象 447
14.1大对象(LOB)简介 448
14.2示例文件 448
14.3理解大对象类型 449
14.4创建包含大对象的表 449
14.5在SQL中使用大对象 450
使用CLOB和BLOB 450
使用BFILE 452
14.6在PL/SQL中使用大对象 454
APPEND() 456
CLOSE() 457
COMPARE() 457
COPY() 458
CREATETEMPORARY() 459
ERASE() 460
FILECLOSE() 460
FILECLOSEALL() 461
FILEEXISTS() 461
FILEGETNAME() 462
FILEISOPEN() 462
FILEOPEN() 463
FREETEMPORARY() 463
GETCHUNKSIZE() 464
GET_STORAGE_LIMIT() 464
GETLENGTH() 464
INSTR() 465
ISOPEN() 466
ISTEMPORARY() 467
LOADFROMFILE() 467
LOADBLOBFROMFILE() 468
LOADCLOBFROMFILE() 469
OPEN( 470
READ() 471
SUBSTR() 471
TRIM() 473
WRITE() 473
WRITEAPPEND() 474
PL/SQL示例过程 475
14.7理解LONG和LONG RAW类型 492
示例表 492
向LONG和LONG RAW列添加数据 492
将LONG和LONG RAW列转换为LOB 493
14.8 Oracle Database 10g对大对象的增强 494
CLOB和NCLOB对象之间的隐式转换 494
在触发器中使用LOB时:new属性的用法 495
14.9 Oracle Database 11 g对大对象的增强 495
加密LOB数据 496
压缩LOB数据 499
删除LOB重复数据 499
14.10小结 500
第15章 在Java程序中运行SQL 501
15.1准备工作 502
15.2配置计算机 502
设置ORACLE_HOME环境变量 502
设置JAVA_HOME环境变量 503
设置PATH环境变量 503
设置CLASSPATH环境变量 504
设置LD_LIBRARY_PATH环境变量 504
15.3 Oracle JDBC驱动程序 505
Thin驱动程序 505
OCI驱动程序 505
服务器端内部驱动程序 505
服务器端Thin驱动程序 505
15.4导入JDBC包 506
15.5注册Oracle JDBC驱动程序 506
15.6打开数据库连接 506
使用getConnection()方法连接数据库 507
数据库URL 507
使用Oracle数据源连接数据库 508
15.7创建JDBC Statement对象 511
15.8从数据库中检索行 511
步骤1:创建和填充ResultSet对象 511
步骤2:从ResultSet对象中读取列值 512
步骤3:关闭ResultSet对象 514
15.9向数据库中添加行 514
15.10更改数据库的行 515
15.11删除数据库的行 516
15.12处理数字 516
15.13处理数据库Null值 517
15.14控制数据库事务 519
15.15执行DDL语句 519
15.16处理异常 520
15.17关闭JDBC对象 521
15.18示例程序:BasicExample 1.java 522
编译BasicExample 1 527
运行BasicExample 1 527
15.19预备SQL语句 529
15.20示例程序:BasicExample2.java 531
15.21 Oracle JDBC扩展 534
oracle.sql包 534
oracle.jdbc包 537
示例程序:BasicExample3.java 540
15.22小结 543
第16章 SQL优化 545
16.1 SQL优化简介 545
16.2使用WHERE子句过滤行 546
16.3使用表连接而不是多个查询 546
16.4执行连接时使用完全限定的列引用 547
16.5使用CASE表达式而不是多个查询 548
16.6添加表索引 549
16.7使用WHERE而不是HAVING 550
16.8使用UNION ALL而不是UNION 550
16.9使用EXISTS而不是IN 552
16.10使用EXISTS而不是DISTINCT 552
16.11使用GROUPING SETS而不是CUBE 553
16.12使用绑定变量 553
不相同的SQL语句 554
使用绑定变量定义相同SQL语句 554
列出和输出绑定变量 555
使用绑定变量存储PL/SQL函数的返回值 555
使用绑定变量存储REFCURSOR的行 556
16.13比较执行查询的成本 556
检查执行计划 557
比较执行计划 562
16.14为优化器传递提示 563
16.15其他优化工具 564
Oracle Enterprise ManagerDiagnostics Pack 565
Automatic DatabaseDiagnostic Monitor 565
16.16小结 566
第17章 XML和Oracle数据库 567
17.1 XML简介 567
17.2从关系数据生成XML 568
XMLELEMENT() 568
XMLATTRIBUTES() 571
XMLFOREST() 571
XMLAGG() 573
XMLCOLATTVAL() 575
XMLCONCAT() 576
XMLPARSE() 576
XMLPI() 577
XMLCOMMENT() 577
XMLSEQUENCE() 578
XMLSERIALIZE() 579
PL/SQL范例:将XML数据写入文件 579
XMLQUERY() 581
17.3将XML保存到数据库中 585
范例XML文件 585
创建范例XML模式 586
从范例XML模式检索信息 588
更新范例XML模式中的信息 592
17.4小结 595
附录A Oracle数据类型 597
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《近代旅游指南汇刊 31》王强主编 2014
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《近代旅游指南汇刊 13》王强主编 2014
- 《近代旅游指南汇刊 28》王强主编 2014
- 《近代旅游指南汇刊 23》王强主编 2014
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019