《Oracle数据库编程经典300例》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:肖俊宇编著
  • 出 版 社:北京:电子工业
  • 出版年份:2013
  • ISBN:9787121206597
  • 页数:424 页
图书介绍:本书分5篇共16章,第一篇为Oracle基础篇,主要介绍了Oracle数据库的主要组成部分、环境及PL/SQL的基本语法。第二篇为SQL数据查询篇,主要介绍了PL/SQL语言在Oracle中如何实现数据查询。第三篇为SQL数据操作篇,主要介绍了PL/SQL语言在Oracle中如何实现对关系数据表的操作。第四篇为数据安全应用篇,主要介绍了Oracle数据库的数据安全等内容。第五篇为高级应用技术篇,基于前面四篇的知识,对Oracle数据的游标和在具体项目中的使用技巧做具体讲解。

第1篇 初识Oracle PL/SQL 2

第1章 走进Oracle PL/SQL 2

实例001安装Oracle 10g 2

实例002启动SQLPlus工具 7

实例003使用SQLPlus命令行工具 8

实例004配置连接字符串 10

实例005使用PL/SQL Developer工具 11

实例006启动和关闭Oracle 12

实例007创建PL/SQL块 14

实例008使用变量输出字符串 16

实例009变量初始化及存储数据记录 17

实例010使用常量计算圆面积 18

实例011使用宿主变量 19

实例012输出指定精度的数据 20

实例013获取当前日期时间 21

实例014使用记录类型输出数据表中的一行 22

实例015引用并输出数据表中的列 23

第2章 操作数据表结构 25

实例016使用CREATE TABLE命令创建基本表 25

实例017使用ALTER TABLE命令增加新字段 27

实例018使用ALTER TABLE命令修改字段 28

实例019使用ALTER TABLE命令删除字段 29

实例020重命名基本表 30

实例021复制相同结构的表 31

实例022使用DROPTABLE命令删除表 33

实例023创建主键约束 34

实例024创建唯一性约束 35

实例025创建CHECK约束 37

实例026创建外键约束 39

实例027删除约束 40

实例028为字段设置默认值 42

第2篇 数据查询 46

第3章 简单数据查询 46

实例029查询输出基本表中指定列 46

实例030对数据列进行运算并输出 47

实例031单条件查询 49

实例032根据查询结果创建和复制表 50

实例033返回表中的前N行记录 51

实例034消除重复行 52

实例035 NULL值的判定 54

实例036查询字段值为某个范围内的记录 55

实例037返回字段值为列表中某个值的记录 56

实例038条件组合查询 57

实例039复合条件查询 59

实例040实现模糊查询 61

实例041使用ESCAPE和转义字符 62

第4章 数据查询中函数的使用 64

实例042使用COUNT函数统计表中的记录数 64

实例043使用SUM函数求和 66

实例044使用AVG函数求平均值 67

实例045返回最大值 68

实例046返回最小值 69

实例047查找并替换字符串 70

实例048获取字符的ASCII码 71

实例049返回字符串长度 72

实例050使用ROUND函数确定精度 73

实例051日期运算 74

实例052日期格式化输出 75

实例053提取日期特定部分 77

实例054数据类型转换 79

实例055提取日期的星期值 80

实例056提取一年中的第几天 81

实例057计算时间差 82

实例058获取某月的第一天与最后一天 83

实例059 NVL函数的使用 85

第5章 高级查询 87

实例060使用GROUP BY子句实现分组 87

实例061按条件查询并分组 89

实例062使用CUBE汇总数据 90

实例063使用ROLLUP汇总数据 91

实例064用GROUPING函数区分NULL值 93

实例065使用HAVING子句过滤分组数据 94

实例066区别HAVING子句与WHERE子句 95

实例067使用ORDER BY子句排序 96

实例068对字符串列排序 98

实例069多列排序 100

实例070对查询进行集合运算 101

实例071返回多个表的共有数据 102

实例072返回各个表的所有数据 103

实例073无条件多表查询 104

实例074有共同字段的表等值连接 105

实例075含条件的等值连接 106

实例076有共同字段的表非等值连接 107

实例077两个表进行内连接 108

实例078两个表进行自然连接 109

实例079一个表进行自连接 110

实例080两个表进行左外连接 111

实例081两个表进行右外连接 112

实例082两个表进行全外连接 113

实例083多表连接 114

第6章 子查询 116

实例084返回单行的子查询 116

实例085含有聚合函数的单行子查询 118

实例086多表查询中返回结果为单行的子查询 119

实例087用IN谓词实现多行子查询 120

实例088多表查询中使用IN谓词 122

实例089 EXISTS子查询 123

实例090 EXISTS替代单行子查询 124

实例091相关子查询 125

实例092含聚合函数的相关子查询 126

实例093带IN谓词的相关子查询 127

实例094包含分组的相关子查询 128

实例095带ANY的子查询 130

实例096带ALL的子查询 131

实例097嵌套子查询 132

实例098 FROM子句后的子查询 134

实例099 SELECT子句后的子查询 135

实例100 HAVING子句后的子查询 136

实例101子查询返回值为空 138

第3篇 数据操纵DML 140

第7章 数据操作 140

实例102不指定字段的整行插入 140

实例103指定字段的整行插入 142

实例104插入空值 144

实例105插入唯一值 145

实例106使用过程插入多行 146

实例107使用INSERT SELECT语句插入多行 148

实例108通过输入修改单个列值 149

实例109通过函数修改单个列值 150

实例110修改数据为空值 151

实例111通过运算修改单列值 152

实例112通过表其他列修改单列值 154

实例113通过外表的某列修改单列值 154

实例114修改单行的多个列值 156

实例115 修改多行的多个列值 156

实例116删除单行数据 157

实例117删除多行数据 158

实例118删除所有行 159

实例119使用TRUNCATE命令清空表 160

第8章 索引与视图 162

实例120创建唯一索引 162

实例121创建单列索引 163

实例122创建复合索引 164

实例123使用ALTER INDEX重建索引 165

实例124删除索引 166

实例125创建简单视图 167

实例126创建复杂视图 169

实例127创建基于视图的视图 170

实例128通过视图插入数据 171

实例129通过视图修改数据 173

实例130通过视图删除数据 174

实例131删除视图 175

实例132 创建同义词 176

实例133生成序列号 177

实例134修改和注销序列 178

实例135创建表空间 179

实例136扩充和删除表空间 180

实例137为用户指定表空间 182

实例138为表指定表空间 183

实例139为索引指定表空间 184

实例140查看索引个数和类别 185

实例141查看被索引的列 185

实例142查看索引的大小 186

第4篇 数据安全应用 190

第9章 用户权限及角色 190

实例143创建与注销用户 190

实例144修改用户口令 191

实例145设置和解除用户锁定 193

实例146更改用户名 194

实例147将系统权限授予用户 196

实例148将对象权限授予用户 197

实例149授予用户角色 199

实例150创建自定义角色 201

实例151收回对象权限 202

实例152回收系统权限 203

实例153级联对象权限的授予 204

实例154收回级联的对象权限 206

实例155级联系统权限的授予 207

实例156收回级联的系统权限 208

实例157收回角色权限 209

实例158删除自定义角色 210

实例159启用/禁用角色 211

实例160显示用户所拥有的角色 212

实例161显示角色的权限 213

实例162显示用户的所有系统权限 214

第10章 完整性控制 215

实例163防止无效数据被插入数据表中 215

实例164防止将已有的数据更改成无效值 217

实例165防止删除已有的数据造成数据失效 218

实例166删除级联数据行 219

实例167防止输入NULL值 220

实例168防止输入重复值 222

第11章 PL/SQL控制语句和存储过程 224

实例169比较两个变量的大小并单输出 224

实例170比较两个变量的大小并双输出 226

实例171使用标识符 227

实例172使用条件嵌套语句 228

实例173使用CASE语句 230

实例174 LOOP语句实现累加 231

实例175计算100以内所有偶数之和 233

实例176计算100以内所有奇数之和 234

实例177 FOR语句实现累加 235

实例178创建不带参数的存储过程 236

实例179调用不带参数的存储过程 237

实例180创建带参数的存储过程 239

实例181调用带参数的存储过程 240

实例182创建并调用带输出参数的存储过程 241

实例183创建并调用带默认值的存储过程 242

实例184查看存储过程 243

实例185调试存储过程 245

实例186重新编译存储过程 246

实例187删除存储过程 246

实例188动态SQL执行DDL语句 247

实例189动态SQL执行DML语句 249

第12章 触发器 251

实例190创建语句触发器 251

实例191语句触发器被触发 252

实例192查看触发器 253

实例193创建并触发行触发器 255

实例194 INSERT触发器 256

实例195 UPDATE指定列触发器 257

实例196 DELETE触发器 258

实例197创建INSTEAD OF触发器 259

实例198创建用户事件触发器 261

实例199创建系统事件触发器 262

实例200禁用/启用触发器 264

实例201以表为单位禁用/启用触发器 265

实例202将删除记录自动写入日志表 266

实例203限制非工作时间操作数据 268

实例204限制对保护数据的操作 269

实例205实现级联更新 270

实例206创建数据对象结构操作事件日志 272

实例207删除触发器 273

第13章 事务处理和并发控制 275

实例208事务开始 275

实例209提交事务 276

实例210回滚事务 278

实例211设置保存点 279

实例212回滚部分事务 280

实例213 DDL语句对事务的影响 281

实例214 DCL语句提交事务 282

实例215断开数据库连接对事务的影响 283

实例216异常断开数据库连接回滚事务 284

实例217避免脏读 285

实例218避免不可重复读 287

实例219判断数据是否被锁 288

实例220锁定数据表 289

实例221查看被锁定的数据对象 290

实例222为被锁定表解锁 291

实例223创建程序包 292

实例224使用程序包 294

实例225查看程序包 295

实例226删除程序包 296

第14章 游标 298

实例227声明游标 298

实例228打开游标 299

实例229提取数据 300

实例230关闭游标 302

实例231循环语句中的游标使用 303

实例232视图中游标的使用 304

实例233提取整行数据 306

实例234用游标名定义记录变量 307

实例235使用带参数的游标 308

实例236使用含默认值参数的游标 309

实例237使用参数为变量的游标 310

实例238使用游标FOR循环 313

实例239游标FOR循环中使用子查询 314

实例240使用游标更新数据 315

实例241使用游标删除数据 316

实例242判断游标是否打开 318

实例243获取游标读取的记录行数 319

实例244游标中的子查询 320

第15章 数据导入/导出 322

实例245备份数据库 322

实例246导出用户所有数据 324

实例247导出指定表数据 325

实例248导出指定表的部分数据 326

实例249恢复数据库 328

实例250导入数据表 328

实例251导出Excel文件 329

实例252导入Excel数据 331

实例253在PL/SQL Developer下导出表结构 333

实例254在PL/SQL Developer下导入表结构 335

实例255在PL/SQL Developer下导出数据 337

实例256在PL/SQL Developer下导入数据 339

第5篇 Oracle高级应用技术 344

第16章 Oracle性能优化 344

实例257在SELECT语句中避免使用“*” 344

实例258尽可能减小记录集行数 345

实例259使用ROWID高效删除重复记录 347

实例260使用TRUNCATE替代DELETE删除记录 348

实例261高效统计记录行数 349

实例262尽量多使用COMMIT 350

实例263避免使用HAVING子句 351

实例264用EXISTS替代IN谓词 353

实例265用“>=”替代“>”运算符 354

实例266避免在SELECT子句中使用DISTINCT关键字 355

实例267用索引提高检索效率 356

实例268避免在索引列上进行运算 357

实例269在索引列上用UNION替换OR 358

实例270避免在索引列上用IS NULL 360

实例271使用WHERE子句优化GROUP BY 361

实例272处理预定义异常 362

实例273处理自定义异常 364

第17章 Oracle实用技巧 366

实例274查看Oracle版本 366

实例275查看表所占用的空间 367

实例276查看Oracle最大连接数 368

实例277查看并统计当前活动用户 369

实例278查看表空间占用空间情况 370

实例279按中文拼音/笔画/部首排序输出 371

实例280修改数据库默认日期格式 372

实例281自动生成查询结果序号 373

实例282查看数据文件放置的路径 374

实例283将查询结果导出到文本文件 375

实例284跟踪SQL语句执行 377

实例285插入全年日期 378

实例286输出表中某列第N大的记录 379

实例287返回记录行的物理地址 380

实例288查找列存在重复值的记录 381

实例289只保留一行列存在重复值的记录 382

实例290秒转换为时分秒格式 383

实例291创建脚本文件 384

实例292执行脚本文件 385

实例293加密存储过程 386

实例294监控索引是否被引用 388

实例295去除无用索引 389

实例296提取表中[N,M]条记录 390

实例297快速编译所有视图 391

实例298读写文本型操作系统文件 392

实例299移动数据库文件 393

实例300创建一个编号会自动增加的列 394

实例301查看对象的依赖关系 395

实例302找出某段时间中的具体日期 396

实例303在查询中不让记录被更新 397

实例304避免基本表被误删 398

实例305更新数据前先保存旧值 399

实例306设置多条记录具有相同值 400

实例307列值为NULL情形的处理 401

实例308创建用户的脚本文件 402

第18章 PL/SQL编程——职工管理系统 404

实例309创建独立用户EMP 404

实例310创建基本表MYEMP 405

实例311根据职工编号查询姓名 406

实例312根据用户输入插入记录 407

实例313根据职工姓名改变工资 409

实例314根据编号查询多列信息 410

实例315 根据部门号输出多行记录 411

实例316计算个人所得税 412

实例317排除无须缴纳个税的职工 413

实例318插入记录后返回提示信息 414

实例319更新工资数据后对比 415

实例320设置调整工资幅度限制 416

实例321根据编号删除职工信息 417

实例322删除数据前对其备份 418

实例323禁止用户对数据进行操作 419

实例324禁止特定时间操作数据 420

实例325记录用户操作表结构日志 422

实例326记录用户登录日志 423