SQL应用开发范例宝典(软件工程师典藏)(1张光盘)
分類: 图书,计算机与互联网,数据库,SQL语言,
品牌: 明日科技
基本信息·出版社:人民邮电出版社
·页码:688 页
·出版日期:2008年
·ISBN:7115179301/9787115179302
·条形码:9787115179302
·包装版本:1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:软件工程师典藏
·附带品描述:1张光盘
产品信息有问题吗?请帮我们更新产品信息。
内容简介《SQL应用开发范例宝典》全面介绍了SQL语句在数据库开发中所用到的技术和技巧。全书分为23章,涉及到SQLServer2000、SQLServer2005、Access、Oracle10g、MySql5.0和Postgresql8.2等6种数据库语言,内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、数据排序、聚集函数与分组统计、使用子查询、多表查询、高级查询、插入数据、更新和删除数据、创建、操纵数据库和表、使用视图、使用存储过程和函数、使用游标、使用触发器、事务处理、安全性控制、SQL高级特性、数据库对象查询、数据库安全与维护和嵌入式SQL等。全书共提供了463个实例,每个实例都突出实用性,其中大部分是程序开发者所需的有关问题的解决方案。
作者简介明日科技有限公司是一家以计算机软件技术为核心的高科技型企业,公司创建于2000年12月,是专业的应用软件开发商和服务提供商。多年来始终致力于行业管理软件开发、数字化出版物开发制作、计算机网络系统综合应用、行业电子商务网站开发等,先后成功开发了涉及生产、管理、控制、仓贮、物流、营销、服务等领域的多种企业管理应用软件和应用平台。公司拥有软件开发和项目实施方面的资深专家和学习型技术团队,以软件工程为指导思想建立了软件研发和销售服务体系,公司基于长期研发投入和丰富的行业经验,本着“让客户轻松工作,同客户共同成功”的奋斗目标,努力发挥;“专业、易用、高效”的产品优势,竭诚为广大用户提供优质的产品和服务。企业精神:博学、创新、求实、笃行公司宗旨:以高新技术为依托,战略性地开发具有巨大市场潜力的,具有高价值的产品,公司愿景:成为拥有核心技术和核心产品的高科技公司,在某些领域具有领先的市场地位。核心价值观:永葆创业激情、每一天都在进步、容忍失败,鼓励创新、充分信任、平等交流。
编辑推荐《SQL应用开发范例宝典》配有光盘,光盘提供了书中所有实例的源代码。全部代码都经过精心调试,都可以正常运行。
《SQL应用开发范例宝典》适用于广大计算机爱好者和编程人员阅读,也可供大、中专院校相关专业的师生学习参考。
目录
~第1章SQL语言基础1
1.1变量与常量2
实例001定义和使用局部变量2
实例002定义和使用全局变量4
实例003数字常量的使用6
实例004使用字符串常量8
实例005使用日期和时间常量9
1.2数据类型10
实例006使用常见的数据类型11
实例007使用文本和图像数据类型13
实例008定义表数据类型15
实例009自定义数据类型16
1.3复合语句18
实例010定义复合语句(begin…end)18
实例011GO语句20
1.4条件判断语句21
实例012使用if语句进行条件判断21
实例013使用case语句进行条件选择判断22
1.5循环语句25
实例014使用while语句25
实例015在循环中使用break语句26
实例016在循环中使用continue语句27
实例017利用goto语句实现循环29
1.6临时表30
实例018定义和使用局部临时表30
实例019定义和使用全局临时表31
实例020使用select into语句生成临时表33
1.7常用命令34
实例021使用print命令输出文本34
实例022使用DBCC命令检查数据库35
实例023使用kill命令结束连接数据库中的进程36
第2章常规数据查询39
2.1查询的基本结构40
实例024SELECT语句的结构40
2.2列的查询42
实例025单列查询42
实例026多列查询43
实例027查询所有列44
实例028使用列别名46
2.3列的计算47
实例029简单列计算47
实例030复杂列计算49
实例031执行算术组合计算50
实例032连接列值51
实例033使用字符函数对列进行格式化查询52
实例034使用数字函数对列进行格式化查询54
实例035使用常量查询56
2.4WHERE条件查询57
实例036检索单行值58
实例037不匹配检索59
2.5区间查询60
实例038利用“”、“”号进行区间查询61
实例039利用BETWEEN进行区间查询62
第3章高级数据过滤65
3.1组合WHERE语句66
实例040使用AND运算符连接WHERE子句66
实例041利用OR运算符连接WHERE子句67
实例042有效利用组合顺序68
实例043对数值列进行四舍五入70
实例044使用行值表达式简化查询条件72
实例045怎样去掉小数点后多余的073
3.2IN运算符74
实例046使用IN运算符简化条件判断74
实例047使用IN运算符查询4∶1、4∶2、4∶3赢得比赛的信息75
3.3NOT运算符76
实例048使用NOT运算符76
实例049运算符的使用78
3.4行查询79
实例050使用UNIQUE以没有重复行为条件查询数据79
实例051限制返回行数(top rownum limit)80
实例052从表中随机返回记录81
实例053使用DISTINCT去除重复信息82
实例054返回第8行到第10行的数据84
实例055查找具体行数据85
实例056查询时显示行号的方法86
实例057延时执行查询88
实例058使用ReadText读取文本类型数据89
实例059预览员工工资提高10%的金额91
实例060确定哪些行是彼此互换的92
实例061强制使用非簇索引查询数据93
实例062使用iif函数进行条件判断94
3.5类型转换95
实例063使用convert函数进行类型转换95
实例064使用cast函数进行类型转换97
实例065格式化金额98
实例066将字符串转换为日期99
实例067将日期转换为字符串100
3.6进制转换101
实例068二进制转换十进制101
实例069八进制转换十进制102
实例070十六进制转换十进制103
3.7匹配查询105
实例071使用like运算符106
实例072使用“%”匹配字符串107
实例073使用“_”匹配任意字符108
实例074使用“_”查询6个字的数据109
实例075使用“[ ]”匹配某一范围的字符111
实例076使用“[^]”匹配非某一范围字符112
实例077匹配特殊字符113
实例078在模式查询中使用转义字符(escape)114
实例079在多个字段中进行单个字符的匹配查询116
实例080匹配发音117
3.8空值判断118
实例081查找空值118
实例082查找非空值119
实例083使用case语句将空值转换为实际值121
实例084使用coalesce函数将空值转换为实际值122
实例085使用nullif函数比较两个表达式123
第4章字符串查询125
4.1字符串查询126
实例086去除尾部空格126
实例087截取字符串的部分信息127
实例088使用“+”连接字符串128
实例089使用stuff函数插入字符串129
实例090将字符串以列的形式显示130
实例091在字符串中包含引号131
实例092获取字符在字符串中出现的次数132
实例093字符串大小写转换133
实例094去掉字符串中的“*”135
4.2截取字符串135
实例095从字符串中删除元音字符135
实例096从字符串中分离字符和数字136
实例097去除字符串中非字母和数字的字符138
4.3格式化字符串139
实例098将电话号码中的“-”去掉,但保留分机号前的“-”139
实例099提取电话号码中的区号和号码140
实例100格式化字符串为日期格式141
4.4替换字符串143
实例101将字符串中的指定字符替换为“*”143
实例102用“…”代替过长的字符串显示143
4.5比较字符串145
实例103比较两个字符串是否相同145
实例104比较两个字符串的相似性146
实例105大小写敏感查询147
第5章日期查询149
5.1格式化日期150
实例106把长日期格式数据转化为短日期格式数据150
实例107显示长日期格式数据中的小时、分、秒151
实例108将日期格式中的“.”转化为“-”153
5.2时间段查询154
实例109使用Between and查询某一时间段内的数据154
实例110使用关系运算符查询某一时间段的数据155
实例111使用in运算符查询某几个时间的数据157
实例112查询某一月份的数据158
实例113查询今天是周几159
实例114查询两个日期之间的天数161
实例115计算两个日期之间的月份数162
实例116计算两个日期之间的分、秒、小时164
实例117计算两个日期之间的工作日165
实例118返回当前记录与下一条记录之间相差的天数166
5.3获取日期167
实例119将日期中的年月日以列的形式显示167
实例120查询当前月份169
实例121查询3个月后的日期170
实例122获取某月的第一天172
实例123获取本周的第一天173
实例124获取当前季度的第一天174
实例125获取上个月的最后一天175
实例126获取去年最后一天176
实例127获取本年的最后一天177
第6章数据排序179
6.1数据排序180
实例128升序排序180
实例129降序排序181
实例130别名排序182
6.2字符串排序183
实例131按字符串中的某个子串排序183
实例132按字母数字混合数据排序184
6.3汉字排序185
实例133按姓氏笔画排序186
实例134按音序排序187
6.4按多个列排序188
实例135多列排序188
实例136重复值排序189
实例137排序前3名数据190
实例138排序后1名数据191
实例139查询结果排序193
实例140在统计结果中排序194
6.5按列序号排序195
实例141按列的编号排序195
实例142动态排序196
第7章聚合函数与分组统计199
7.1聚合函数200
实例143通过SUM函数对销售金额进行汇总200
实例144通过DISTINCT函数求不重复班级名称201
实例145通过AVG函数求某班学生的平均成绩202
实例146通过MIN函数求销售额最低值204
实例147利用MIN函数在子查询中查找最小值205
实例148通过MAX函数求销售额最高值207
实例149利用MAX函数在子查询中查询最大值209
实例150利用COUNT函数求日销售数量210
实例151利用COUNT函数求日销售额大于某值的商品数212
实例152利用COUNT函数求部门名称列非NULL值的个数214
实例153查询包含最大值和最小值的记录215
实例154查询不包含最大值和最小值的平均值216
实例155计算商品销售额所占的百分比217
实例156查询重复记录219
7.2分组统计220
实例157GROUP BY子句创建简单分组220
实例158GROUP BY子句创建多列组合行222
实例159在分组查询中使用ALL关键字223
实例160对统计结果进行排序224
实例161在分组查询中使用HAVING子句226
实例162在分组查询中使用CUBE运算符227
实例163在分组查询中使用ROLLUP 229
实例164HAVING子句与WHERE子句的联合使用231
实例165多表分组统计233
实例166使用COMPUTE子句在同一结果集中显示明细和汇总234
实例167使用COMPUTE BY子句显示多级分类汇总237
实例168使用COALESCE函数将NULL转换成0后,计算员工的平均工资239
实例169生成累计和240
实例170生成累计差241
第8章使用子查询243
8.1简单子查询244
实例171在SELECT列表中的子查询244
实例172为子查询命名245
实例173多列子查询246
实例174在多表查询中使用子查询248
8.2单行子查询249
实例175比较子查询249
实例176在子查询中使用聚合函数250
实例177使用子查询更新数据251
实例178使用子查询删除数据252
8.3多行子查询253
实例179使用IN查询实现交集运算253
实例180使用NOT IN子查询实现差集运算255
实例181在嵌套中使用EXISTS谓词256
实例182在嵌套中使用NOT EXISTS谓词259
实例183使用比较谓词ALL引入子查询260
实例184使用比较谓词ANY引入子查询261
实例185不使用NOT IN查询主表中有而从表中没有的数据263
8.4相关子查询264
实例186使用IN引入相关子查询264
实例187嵌套子查询265
实例188在HAVING子句中使用相关子查询267
实例189比较运算符引入相关子查询268
实例190实现树查询269
第9章多表查询271
9.1多表联接272
实例191笛卡尔乘积查询272
实例192在多表联接中设置联接条件273
实例193使用表别名274
实例194在多表联接中返回某个表的所有列名275
9.2内联接276
实例195等值联接276
实例196不等联接278
实例197自然联接279
实例198多表内联接280
9.3外联接281
实例199左外联接281
实例200右外联接282
实例201完全联接284
实例202使用外联接进行多表联合查询285
9.4其他联接286
实例203自联接286
实例204静态交叉表287
实例205动态交叉表289
实例206在外联接中使用and运算符290
9.5组合查询292
实例207使用UNION运算符组合两个表的数据292
实例208一对多联合查询293
实例209对组合查询结果排序295
实例210使用UNION ALL保留重复行296
实例211使用UNION运算符消除重复的行298
实例212将数据表中符合指定条件的记录优先显示299
实例213使用INTERSECT函数进行交集运算300
实例214使用MINUS进行差集运算301
9.6使用联接和联接条件302
实例215在内联接中子查询使用聚合函数302
实例216利用联接条件查找两表中的共同行303
实例217查询一个表中存在的而其他两个表中不存在的数据304
实例218数据库之间数据的复制305
实例219从一个表中查询另一个表中没有的数据306
实例220根据另一表中的条件查询数据307
实例221利用递归生成连续数308
第10章高级查询311
10.1交叉表查询312
实例222交叉表312
实例223反转交叉表313
实例224行列转换316
实例225创建分隔列表317
实例226查询结果分页显示318
实例227在结果集中隔一行显示数据320
10.2分布式查询321
实例228建立链接322
实例229查看链接323
实例230删除链接324
实例231建立映射325
实例232查看登录映射信息326
实例233简单分布式查询327
实例234使用OpenDatasource函数进行分布式查询329
实例235使用OpenQuery函数进行分布式查询331
实例236使用OpenRowSet进行分布式查询333
实例237创建关联到电子表格的链接335
实例238创建关联Access数据库的链接336
第11章插入数据339
11.1插入单行数据340
实例239整行插入数据340
实例240特定字段数据插入341
实例241NULL值的插入342
实例242唯一值的插入343
实例243通过视图插入行344
实例244插入默认值345
实例245插入日期数据346
实例246创建数据表之后插入数据347
11.2插入多行记录349
实例247通过VALUES关键字插入多行数据349
实例248使用UNION ALL语句批量插入数据350
实例249使用INSERT SELECT语句批量插入数据352
11.3将查询结果插入数据表353
实例250从一个表中向另一个表中复制行353
实例251复制表结构354
实例252将查询结果中的数据插入到多表中356
第12章更新和删除数据359
12.1更新表中的数据360
实例253UPDATE语句更新列值360
实例254利用子查询更新多行的值361
实例255依据外表值更新数据362
实例256分步更新表364
实例257使用CASE表达式更新列值366
实例258只更新存在于其他表中的数据368
实例259利用Oracle数据库中的关键字merge合并记录369
12.2删除表中的数据371
实例260删除单条数据371
实例261删除多行数据372
实例262删除所有数据373
实例263删除部分重复的行374
实例264删除完全重复的行376
实例265使用TRUNCATE TABLE语句彻底删除数据377
实例266使用子查询删除数据379
实例267删除从其他表中引用的记录380
实例268删除违反参照完整性的记录381
12.3通过视图更新表382
实例269通过视图更新表数据382
实例270通过视图删除表数据383
第13章创建、操纵数据库和表385
13.1创建、删除数据库386
实例271创建包含多个数据文件和日志文件的数据库386
实例272创建带有多个文件组的数据库389
实例273修改数据库390
实例274向数据库中添加数据文件392
实例275向数据库中添加日志文件393
实例276向数据库中添加文件组394
实例277从数据库中删除文件395
实例278从数据库中删除文件组396
实例279删除数据库397
13.2表的创建398
实例280创建基本表398
实例281定义列的非空约束399
实例282在表中定义默认值约束401
实例283使用关键字作为表的列名402
实例284为联合主键设置外键403
13.3表的修改405
实例285为表增加列405
实例286删除表中列407
实例287修改列的结构408
实例288为指定列设定默认值409
实例289为现有表添加主键410
实例290为现有表添加外键411
实例291为现有表关系添加级联更新、级联删除412
13.4表的重命名和删除413
实例292重命名表413
实例293删除表414
第14章使用视图417
14.1创建和使用视图418
实例294使用视图过滤不想要的数据418
实例295使用视图与计算数据419
实例296使用视图重新格式化检索出的数据421
实例297使用视图简化复杂的连接422
实例298创建基于视图的视图423
14.2修改视图424
实例299修改视图424
实例300通过视图添加数据426
实例301通过视图修改数据428
14.3删除视图429
实例302删除视图429
实例303通过视图删除表数据430
第15章使用存储过程和函数433
15.1创建存储过程434
实例304使用CREATE PROCED URE语句创建存储过程434
实例305使用return语句从存储过程中返回值436
实例306创建带参数的存储过程437
实例307在存储过程中使用事务439
实例308创建带返回参数的存储过程440
实例309创建并添加扩展存储过程442
实例310创建加密存储过程443
15.2管理存储过程444
实例311执行存储过程444
实例312存储过程的重新编译446
实例313执行具有回传参数的存储过程448
实例314查看存储过程代码449
实例315修改存储过程452
实例316重新命名存储过程454
实例317删除存储过程455
实例318使用存储过程调用Com组件(sp_OACreate)456
实例319重命名数据库中列的名称458
实例320监控存储过程(sp_monitor)459
实例321自动执行存储过程461
15.3使用函数462
实例322创建标量函数462
实例323创建内嵌表值函数463
实例324删除函数466
第16章使用游标469
实例325声明游标470
实例326定义游标变量473
实例327打开游标474
实例328读取游标中数据475
实例329关闭游标477
实例330释放游标478
实例331获取游标行数479
实例332检测FETCH操作的状态481
实例333游标FOR循环482
实例334游标的嵌套484
实例335基于游标定位修改数据486
实例336基于游标定位删除数据488
实例337在存储过程中使用游标489
实例338参数化游标491
实例339利用sp_cursor_list查看服务及游标属性492
实例340利用sp_describe_cursor查看游标的全局特性494
第17章使用触发器497
17.1创建触发器498
实例341创建INSERT触发器498
实例342创建UPDATE触发器501
实例343创建DELETE触发器502
实例344创建具有触发条件的触发器503
实例345创建INSTEAD OF触发器505
实例346触发器的嵌套506
实例347创建递归触发器508
17.2修改触发器510
实例348修改触发器510
实例349重命名触发器513
17.3删除触发器514
实例350删除触发器514
第18章事务处理517
18.1事务概述518
实例351设置事务属性518
18.2事务应用519
实例352提交事务520
实例353回滚事务521
实例354保存事务523
18.3事务并发控制525
实例355表级锁定525
实例356设置事务隔离层并发控制526
实例357死锁的产生及预防528
第19章安全性控制531
19.1用户管理532
实例358使用sp_addlogin创建用户532
实例359使用sp_password修改用户密码 533
实例360使用sp_helplogins查看用户登录信息534
19.2角色管理535
实例361使用sp_addrole创建数据库角色535
实例362使用sp_droprole删除数据库角色536
实例363使用GRANT语句授予角色权限537
实例364使用REVOKE语句取消角色创建数据表的权限539
19.3权限管理540
实例365使用GRANT语句授予角色WSERT和SELECT的权限540
实例366使用REVOKE语句取消角色对指定数据表的操作权限542
实例367SELECT权限控制543
实例368INSERT权限控制544
实例369UPDATE权限控制545
实例370DELETE权限控制547
实例371附加数据库给新用户已存在用户权限548
第20章SQL高级特性551
20.1数据完整性552
实例372创建并使用主键约束552
实例373创建并使用外键约束554
实例374唯一约束556
实例375检查约束558
实例376使用newid函数为uniqueidentifer类型的数据生成唯一标识560
实例377使用默认约束561
实例378删除约束563
实例379使用identity属性生成唯一标识564
20.2规则566
实例380创建规则566
实例381将规则与数据类型或列绑定在一起567
实例382解除规则569
实例383删除规则570
实例384创建默认值(Create Default)571
实例385绑定默认值(sp_bindefault)572
实例386解除默认值绑定(sp_unbingdefault)573
20.3索引575
实例387创建索引575
实例388创建简单的非簇索引576
实例389多字段非簇索引的创建578
实例390使用UNIQUE关键字创建唯一索引579
实例391使用CLUSTERDE关键字创建簇索引580
实例392索引的销毁581
实例393使用DBCC SHOWCONTIG 语句对索引进行维护583
实例394使用DBCC INDEXDEFRAG语句对索引进行维护584
实例395重构索引585
实例396创建虚拟列索引587
实例397创建选择索引588
实例398创建全文索引589
实例399检索词(Contains谓语)590
实例400模糊查询593
20.4优化查询594
实例401避免使用or运算符594
实例402避免使用not运算符596
实例403避免使用distince语句597
实例404简化联接条件598
实例405在组合查询时使用All语句600
第21章数据库对象查询603
21.1SQL Server数据库对象查询604
实例406获取自定义存储过程、函数和视图文本604
实例407显示有关触发器信息605
实例408列出数据库的所有表606
实例409列出数据表中数据列的定义607
实例410获取表中不允许为空的字段608
实例411获取表中的索引列609
实例412获取表中的约束610
实例413查看硬盘分区611
实例414判断两个表是否相等612
实例415结束事件探查器进程613
实例416修改数据库名称614
实例417获取当前数据库中的所有用户表615
实例418获取某一个表的所有字段616
实例419查看与某一个表相关的视图、存储过程和函数616
实例420查看当前数据库中所有存储过程617
实例421查询用户创建的所有数据库618
实例422获取数据库大小619
实例423跨越服务器查询数据620
实例424查询多个部分列621
21.2Oracle数据库对象查询622
实例425获取数据字典视图622
实例426查看表空间的名称及大小623
实例427查看表空间物理文件的名称及大小624
实例428查看控制文件625
实例429查看日志文件626
实例430查看数据库对象626
实例431查看数据库的版本627
第22章数据库安全与维护629
22.1收缩数据库630
实例432压缩数据库630
实例433收缩数据和日志631
22.2备份数据库632
实例434备份数据库632
实例435备份事务日志633
实例436检查备份集636
实例437定时备份数据库637
实例438如何备份文件和文件组638
22.3恢复数据库640
实例439简单恢复数据库640
实例440恢复文件和文件组641
实例441应用事务日志备份643
实例442恢复到即时点 644
实例443灾难性恢复数据库645
22.4其他操作646
实例444对数据库中数据进行加密646
实例445附加数据库647
实例446分离数据库648
22.5导入/导出数据649
实例447将SQL Server数据库中数据导出到数据文件649
实例448将Oracle数据库中数据导出到数据文本文件651
实例449从SQL Server数据库中将数据导出到Excel数据表中652
实例450从Excel中导入数据到SQL Server中653
实例451将SQL Server数据导出到Access中655
实例452从Access导出数据到SQL Server中656
实例453从SQL Server里查询Access数据657
实例454将从SQL Server中查询到的数据导成一个Excel文件658
实例455将Oracle数据库的数据导入到Excel中659
22.6SQL注入式攻击661
实例456防止SQL注入式攻击661
实例457从源程序预防SQL注入式攻击662
第23章嵌入式SQL665
23.1定义嵌入式SQL语句666
实例458在高级语言中定义嵌入式SQL666
实例459在C语言中使用SQL通信区667
实例460嵌入式SQL中的主变量669
实例461在嵌入式SQL中使用游标671
23.2编译并运行嵌入式SQL语句673
实例462预编译嵌入式SQL语句673
实例463执行嵌入式SQL语句675
附录SQL范例宝典实例适用范围677
~
……[看更多目录]
文摘插图: