《SQL Server应用与开发范例宝典》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:高春艳,陈威,张磊编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115380555
  • 页数:736 页
图书介绍:本书介绍了SQL Server应用开发所用到的技术和技巧。包括配置与管理SQL Server、SQL Server数据库的安全性管理、SQL基本查询、聚合数据查询、联接/组合查询、高级查询、更新SQL Server数据、SQL Server高级应用、Visual Basic与SQL Server、ASP与SQL Server、ASP.NET与SQL Server、JSP与SQL Server等。

第1章 配置与管理 SQL Server 1

1.1安装SQL Server 2

实例001安装SQL Server 2000个人版 2

实例002安装SQL Server 2000企业版 6

实例003安装SQL Server 2005企业版 10

实例004安装SQL Server 2008 企业版 16

实例005安装SQL Server 2012客户端 27

实例006升级SQL Server 39

实例007卸载SQL Server 41

1.2配置服务器 42

实例008创建服务器组 42

实例009注册服务器 43

实例010启动、暂停和停止SQL Server 2000 45

实例011启动SQL Server 2005/ 2008/2012 47

实例012配置网络连接 49

实例013配置链接服务器 50

实例014配置远程服务器 53

实例015测试服务器的配置 55

实例016影响SQL Server运行的设置 57

1.3配置客户端 58

实例017客户端Net-Library 58

实例018配置ODBC数据源 60

实例019测试客户端的配置 62

1.4通过Internet访问SQL Server 63

实例020建立访问SQL Server 2000的虚拟目录 63

实例021通过HTTP访问SQL Server 66

实例022通过Microsoft Proxy Server连接SQL Server 68

1.5管理SQL Server 68

实例023启动企业管理器 68

实例024使用查询分析器 69

实例025使用SQL事件探查器 72

实例026通过“服务”管理SQL Server 75

实例027使用SQL Server联机丛书 78

实例028启动SQL Server ManagementStudio 79

实例029使用SQL Server配置管理器 81

实例030使用Reporting Services配置管理器 82

实例 031应用数据库引擎优化顾问 83

1.6脚本与批处理 84

实例032将数据库生成脚本 84

实例033将指定表生成脚本 86

实例034执行脚本 87

实例035批处理 89

1.7维护SQL Server 91

实例036复制数据库 91

实例037分离数据库 94

实例038附加数据库 95

1.8导入、导出数据库 96

实例039导入SQL Server数据库 96

实例040导入Access数据 98

实例041导出数据到Access数据库 101

实例042导出数据到Excel 104

1.9数据备份与还原 105

实例043完全备份与还原 105

实例044差异备份与还原 108

实例045部分数据库还原 110

实例046备份和恢复系统数据库 112

1.10常见问题与解决 113

实例047连接失败 113

实例048用户登录失败 115

实例049解决SQL Server 2000无法安装 117

实例050解决SQL Server 2000卸载失败问题 118

实例051解决安装SQL Server补丁时出现的问题 119

第2章 SQL Server数据库安全性管理 121

2.1 SQL Server的身份验证模式 122

实例052 Windows验证模式 122

实例053混合验证模式 123

2.2管理SQL Server登录 124

实例054查看登录 124

实例055创建一个登录账号 125

实例056更改、删除登录账号 126

实例057禁止登录账号 127

实例058删除SQL Server登录 128

2.3服务器角色管理 129

实例059添加成员 129

实例060删除成员 130

2.4数据库角色管理 131

实例061创建数据库用户账户 131

实例062为数据库角色添加和删除成员 133

实例063创建和删除数据库角色 135

2.5权限管理 136

实例064为数据库角色设置权限 136

实例065设置数据库的访问权限 138

实例066设置对象的访问权限 139

2.6高级安全主题 140

实例067数据文件安全 141

实例068安全配置 142

实例069使用安全套接字层(SSL)加密 145

实例070如何防范SQL注入式攻击 150

第3章 使用管理器管理数据 151

3.1设计数据库 152

实例071创建数据库 152

实例072修改数据库 154

实例073删除数据库 155

3.2设计数据表 156

实例074创建数据表 156

实例075创建计算字段 160

实例076修改表 163

实例077删除表 164

3.3索引的建立与维护 164

实例078建立惟一索引 165

实例079定义主键索引 167

实例080删除索引 168

3.4关系的建立与维护 169

实例081建立一对一关系 169

实例082建立一对多关系 172

实例083删除关系 172

3.5维护数据表 173

实例084在表结构中添加新字段 173

实例085在表结构中删除字段 174

实例086修改表结构中字段的顺序 175

实例087重命名表 176

3.6浏览数据 177

实例088查看所有数据 177

实例089查看某一条记录 179

实例090浏览指定行数的数据 179

3.7数据的基本操作 180

实例091添加数据 180

实例092修改数据 182

实例093删除数据 183

第四章 Transact-SQL动态维护SQL Server 185

4.1设计数据库 186

实例094创建数据库 186

实例095修改数据库 188

实例096删除数据库 191

4.2维护数据表 192

实例097创建数据表 192

实例098定义计算字段 194

实例099修改表 196

实例100删除表 198

实例101修改表和字段的名称 199

4.3维护数据库 200

实例102分离数据库 201

实例103附加数据库 202

实例104附加单文件数据库 203

4.4数据库备份与恢复 204

实例105建立备份设备 204

实例 106删除备份设备 206

实例107备份数据库 207

实例108还原数据库 209

第5章 SQL基本查询 211

5.1 SELECT子句检索 212

实例109查询图书销售表中特定列数据信息 212

实例110查询商品编号、价格等多列信息 213

实例111查询商品销售表中全部商品信息 214

实例112将学生成绩表中英文列名设置为中文列名 215

实例113在商品销售表中添加商品利润的新列 217

5.2区间查询 218

实例114列出商品利润大于300的商品名称 218

实例115列出商品利润小于300的商品名称 219

实例116列出商品利润在200元~500元之间的商品名称 220

实例117查询图书价格介于68元~88元之间的图书名称 221

实例118利用模糊查询进行区间查询 223

5.3数据前若干名 225

实例119查询图书库存表中现存数量前5名的图书信息 225

实例120查询图书库存表中现存数量后5名的图书信息 227

实例121查询编程词典销售表中销售额前3名的数据 228

5.4查询结果排序 229

实例122将职工表中的信息按照奖金升序(或降序)输出 229

实例123查询员工表中按工资、奖金两次排序后的信息 230

实例124将在留学生表中查询的结果中按国籍降序排序 231

实例125在学生信息表中按学生的姓氏笔画重新排序 232

实例126根据工资与奖金之和生成的列对员工信息排序 233

5.5模式查询 234

实例127查询数字 234

实例128利用_通配符查数学成绩在80~89之间学生信息 236

实例129利用%通配符查询学生表中姓李的员工信息 237

实例130利用[]通配符查英语成绩95~99之间的学生信息 238

实例131利用[^]通配符查数学不在90~99之间的学生信息 239

实例132复杂的模式查询 240

5.6除去重复记录或空值 241

实例133除去图书销售表中相同的图书信息 241

实例134列出图书销售表中图书重印超过1次的图书 242

实例135查询学生信息表中备注信息不为空的学生信息 243

实例136列出学生信息表中备注信息为空的学生信息 244

5.7在查询中使用OR和AND运算符 245

实例137利用OR运算符进行区间定位查询 246

实例138利用AND运算符进行区间定位查询 247

实例139应用OR、AND执行多个搜索条件查询 248

5.8格式化字段和结果集 250

实例140统一字段格式进行查询 250

实例141将客户信息表中客户姓名字段中的空格去除 252

实例142对工资数据表中查询出的工资进行四舍五入 253

第6章 字符串/数字/日期时间查询 256

6.1字符串查询 257

实例143在职工表中去除编号与姓名字符串中尾部的空格 257

实例144 在学生信息表中截取学生的姓和名字信息 258

实例145连接图书表中的书名与类别生成图书说明信息 259

实例146在报名表中将“200900”插入到原用户报名编号中 260

实例147获取字符在字符串中出现的次数 261

实例148将外籍留学生表中的学生姓大写名小写 262

6.2截取字符串 263

实例149从字符串中删除元音字符 263

实例150从字符串中分离字符和数字 264

实例151去除字符串中非字母和数字的字符 265

6.3比较字符串 266

实例152比较留学生信息中学生的姓是否相同 266

实例153在留学生信息中比较查询留学生的名是否相似 267

实例154在外籍留学生信息中英文姓名大小写敏感查询 268

6.4格式化字符串 269

实例155将电话号码中的“-”去掉,但保留分机号前的“-” 270

实例156提取电话号码中的区号和号码 271

实例157格式化字符串为日期格式 272

6.5数学函数 273

实例158使用SQRT函数查询公式表中字段A的平方根 273

实例159使用EXP函数查询数学公式表中e的A次幂 275

实例160利用三角函数查询公式表中字段A的余弦、正弦 276

6.6时间段查询 277

实例161查询出版日期在10月份的图书名称及出版日期 278

实例162查询今天是周几 279

实例163查询学生信息表中学生间入学时间间隔多少天 280

实例164查询某笔记本的两次进货日期相差的月份数 282

实例165计算员工全年工作日 283

实例166查询当前图书出版日期与下一次出版日期间隔 285

6.7获取日期 286

实例167将图书出版日期中的年月日以列的形式显示 286

实例168查询当前日期加3个月以后的日期 287

实例169分别获取某月份、本周和当前季度的第一天 289

实例170分别获取上个月、去年和本年的最后一天 291

6.8格式化日期 293

实例171把长日期格式数据转化为短日期格式数据 293

实例172显示长日期格式数据中的小时、分、秒 294

实例173将日期格式中的“.”转化为“-” 296

第7章 聚合数据查询 298

7.1聚合函数 299

实例174利用SUM函数对职员工资进行汇总 299

实例175利用AVG函数求学生各学科的平均成绩 300

实例176利用MIN函数求销售额和利润的最低值 302

实例177利用MAX函数求员工月销售业绩的最高值 304

实例178利用COUNT函数求日销售额大于某值的商品数 306

7.2分组统计 309

实例179统计学生的总成绩并排序 309

实例180使用COALESCE函数将NULL转换成0后,计算员工的平均工资 311

实例181使用ALL查询书名和出版社的全部分组 312

实例182使用ROLLUP按所属类别和等级统计商品的总销售额 314

实例183使用CUBE生成带有小计和总计的交叉表 316

实例184使用HAVING子句返回图书分组后汇总销售额大于某值的数据 319

实例185使用GROUPING SETS组合多个分组结果集 321

实例186使用OVER子句和SUM函数根据订单编号分区聚合数据 322

实例187使用COMPUTE返回商品销售表中的明细及汇总数据 324

实例188使用COMPUTE BY返回部门分组信息及对应汇总数据 326

第8章 子查询 329

8.1简单子查询 330

实例189子查询的查询结果作为SELECT子句的列 330

实例190查询学生成绩大于平均成绩的记录 331

实例191子查询作为FROM子句的查询依据 332

8.2多行子查询 333

实例192查询外语成绩大于某值的学生明细信息(IN) 333

实例193返回月销售不在同类图书前100名的图书信息(NOT IN) 335

实例194显示一班学生总成绩大于二班所有学生总成绩的学生信息(ALL) 336

实例195查询商品三月销售额大于当月同类平均销售额的商品信息(ANY/SOME) 337

8.3相关子查询 339

实例196求出部门内职员工资最高的职员信息(IN) 339

实例197查询图书销量大于某值的图书信息(EXISTS) 341

实例198返回商品采购量不小于某值的商品销售信息(NOT EXISTS) 343

实例199在HAVING子句使用子查询过滤一组数据 345

8.4嵌套子查询 346

实例200查询指定学历的部门经理当月工资情况 346

实例201返回学科成绩小于指定的多个成绩任意一个的学生信息 347

8.5子查询更新数据 349

实例202在UPDATE语句中使用子查询更新数据 349

实例203在INSERT INTO语句中使用子查询添加数据 350

实例204在DELETE语句中使用子查询删除数据 351

第9章 联接/组合查询 353

9.1多表联接 354

实例205使用CROSS JOIN实现两表的笛卡尔乘积查询 354

实例206在WHERE子句中设置联接条件 355

9.2内联接 356

实例207返回职员指定月份的工资及其所在部门信息 356

实例208使用INNER JOIN实现自身联接 358

实例209多表联接的查询 359

9.3外联接 361

实例210使用LEFT OUTER JOIN返回以左表为主的所有匹配数据 361

实例211使用RIGHT OUTER JOIN返回以右表为主的所有匹配数据 363

实例212使用FULL JOIN返回两表相匹配的所有数据 364

9.4组合查询 365

实例213使用UNION组合多个结果集 365

实例214对组合查询结果进行排序 367

实例215 使用INTERSECT运算符求两个结果集的交集 369

实例216使用EXCEPT运算符求两个结果集的差集 370

第10章 高级查询 372

10.1利用CASE语句进行查询 373

实例217利用CASE语句返回备注信息 373

实例218利用CASE语句更新列值 375

10.2交叉表查询 376

实例219使用CASE语句生成静态交叉表 376

实例 220行列转换 378

实例221 PIVOT交叉表统计商品各月份的销售数量 379

实例222 UNPIVOT反转交叉表 381

实例223调用存储过程生成动态交叉表 383

10.3递归查询 385

实例224 CTE递归生成连续数 385

第11章 分布式查询 388

11.1链接服务器 389

实例225用“企业管理器”建立链接 389

实例226创建、查看、删除链接 391

实例227建立、查看、删除映射 393

实例228用T_SQL设置链接选项 395

实例229创建关联Access数据库的链接并查询其数据 396

实例230创建到电子表格的链接 398

11.2分布式查询 399

实例231简单的分布式查询 399

实例232使用OpenDatasource进行分布式查询图书信息处理 401

实例233用OpenQuery函数进行分布式查询客户信息 402

实例234使用OpenRowSet进行分布式查询客户表中信息 405

11.3分布式事务处理 406

实例235创建分布式事务 406

第12章 更新SQL Server数据 408

12.1添加数据 409

实例236使用INSERT语句添加单条数据 409

实例237使用UNION ALL运算符批量添加数据 410

实例238 INSERT插入多行数据 411

实例239创建表并添加数据 412

12.2修改数据 413

实例240使用UPDATE语句修改单条数据 414

实例241批量修改数据 415

实例242修改指定日期字段内的数据 415

12.3删除数据 416

实例243删除单条记录 416

实例244删除指定字段数据为空的记录 417

实例245使用OUTPUT子句删除数据并返回结果 418

12.4使用事务 420

实例246使用事务维护数据一致性 420

第13章 流程控制与功能性语句 422

13.1流程控制语句 423

实例247 BEGIN...END控制批处理 423

实例248通过IF语句给定执行条件 424

实例249 IF EXISTS语句检测数据是否存在 425

实例250 WHILE执行循环语句块 426

实例251 CASE分支判断语句 427

实例252 RETURE无条件返回语句 428

实例253 WAITFOR延期执行语句 429

实例254 GOTO 跳转语句 430

实例255 TRY CATCH异常处理语句 431

13.2功能性语句 432

实例256 PRINT输出语句 432

实例257 RAISERROR返回错误信息 433

实例258 SET选项设置语句 435

第14章 索引 437

14.1创建索引 438

实例259创建惟一聚集索引快速定位记录位置 438

实例260使用Transact-SQL命令创建索引 440

实例261使用UNIQUE关键字创建惟一索引 442

实例262使用CLUSTERDE关键字创建簇索引 443

实例263索引的销毁 444

实例264创建多字段非聚集索引检索数据 445

实例265使用索引视图查询数据 446

14.2维护索引 448

实例266修改索引 448

实例267重建索引 449

实例268删除索引 450

14.3全文索引 452

实例269启用全文检索服务 452

实例270定义全文索引 453

实例271使用Transact-SQL创建全文索引 456

实例272使用Transact-SQL维护全文索引 461

实例273检索词或短语 462

实例274模糊查询 463

实例275对格式化的二进制数据进行全文检索 463

第15章 视图 466

15.1创建和使用视图 467

实例276使用企业管理器创建视图 467

实例277使用CREATE VIEW创建视图显示客户信息 469

实例278使用创建视图向导创建视图 471

实例279使用视图简化复杂的连接 472

实例280创建基于视图的视图 474

实例281使用视图生成计算列 475

实例282使用视图重新格式化检索出的数据 476

实例283使用视图添加表数据 477

实例284通过视图修改表数据 479

实例285通过视图删除表数据 480

实例286使用视图过滤不想要的数据 482

15.2管理视图 483

实例287使用sp_helptext获取视图信息 483

实例288如何修改视图 484

实例289如何删除视图 486

15.3使用视图加强数据安全 487

实例290对视图定义文本进行加密 487

实例291通过视图对不同用户设置权限 488

第16章 存储过程 490

16.1创建和使用存储过程 491

实例292使用Transact-SQL语句创建存储过程并执行 491

实例293在存储过程中使用RETURN语句返回值 493

实例294使用带参数的存储过程以实现动态检索 495

实例295执行带回传参数的存储过程 496

实例296在存储过程中使用事务 497

实例297创建并添加扩展存储过程 499

实例298创建加密存储过程 500

16.2管理存储过程 501

实例299查看存储过程相关信息 501

实例300修改存储过程 503

实例301删除存储过程 505

实例302存储过程的重新编译 506

实例303重命名存储过程 508

16.3应用存储过程 509

实例304使用存储过程调用Com组件(sp_OACreate) 509

实例305监控存储过程 511

实例306自动执行存储过程 513

实例307执行远程存储过程 514

第17章 触发器 518

17.1创建触发器 519

实例308使用企业管理器创建触发器 519

实例309用INSERT触发器向员工表中添加新员工信息 520

实例310用UPDATE触发器更新员工表中员工基本工资 523

实例311应用DELETE触发器删除离职员工信息 524

实例312创建具有触发条件的触发器 526

实例313创建INSTEAD OF触发器 527

实例314创建递归触发器,实现只允许一次删除一条记录 529

17.2管理触发器 531

实例315触发器的嵌套 531

实例316 Rollback触发器 533

实例317查看触发器数据 534

实例318修改触发器 536

实例319删除触发器 539

实例320重命名触发器 540

17.3触发器的应用 540

实例321应用触发器向员工表添加数据并初使化工资表 541

实例322应用触发器修改员工信息表中离职员工信息 543

实例323应用触发器删除相关联的两表间的数据 544

第18章 游标的使用 547

18.1游标的基本操作 548

实例324声明游标并分别创建一个标准、只读和更新游标 548

实例325打开游标并检索图书信息表中指定条件的数据 550

实例326读取游标中存储的前两条职工表中的员工记录 551

实例327关闭释放游标 553

实例328 利用sp_cursor_list查看服务及游标属性 555

实例329利用sp_describe_cursor查看游标的全局特性 556

18.2游标的高级操作 558

实例330利用游标在商品销售表中返回指定商品行数据 558

实例331用ORDER BY子句改变游标中行的顺序 560

实例332使用FETCH将值存入变量 562

实例333利用游标设计带滚动的商品销售数据查询 563

实例334应用游标的嵌套查询两个员工表间员工信息 565

18.3通过游标维护数据 567

实例335使用游标根据商品单价和销售量计算出销售额 567

实例336基于游标定位修改员工信息表中员工的姓名 568

实例337只允许用户更新游标中指定列中的值 569

实例338使用游标定位删除员工表中指定条件的员工 571

实例339用索引改变游标中员工编号的行顺序 572

实例340应用参数化游标更改员工部门信息 573

第19章 SQL Server高级应用 575

19.1 XML与SQL Server 576

实例341用FOR XML RAW读取图书表中所有图书信息 576

实例342 FOR XML AUTO将图书表中数据作为嵌套输出 578

实例343读取图书销售表中字段均作为节点元素输出 580

实例344将存储在XML中的图书信息插入到数据表中 581

实例345创建、修改和删除XML索引 583

实例346查询存储图书信息的XML节点(query方法) 585

实例347获取XML节点或元素值 (value方法) 586

实例348编辑存储图书信息的XML节点(modify方法) 587

实例349将XML节点转变为对应字段 (nodes方法) 591

19.2监视与优化 592

实例350使用“事件查看器”监视事件日志中记录的事件 592

实例351使用SQL Server Managesment Studio的查询编辑器 594

实例352使用SQL Server Profiler监视数据库引擎等性能 595

实例353使用“数据库引擎优化顾问”优化 599

实例354使用dta实用工具优化数据库工作负荷 602

19.3编程与服务 603

实例355创建SQL Server 2005对象 603

实例356使用SMO管理对象模型开发数据库 609

实例357创建报表连接到数据源并进行布局设计 614

实例358使用Magagement Studio管理报表 619

实例359创建分析服务项目并在项目中定义数据源 626

实例360创建目标邮件方案挖掘对邮件信息逻辑分组 632

实例361在服务器之间复制数据以提高伸缩性和可用性 639

实例362将Microsoft Excel 2007数据导入到SQL Server 644

实例363在Exce12007中引用SQLServer数据生成报表 649

第20章 Visual Basic与SQL Server 653

20.1连接数据库 654

实例364 ADO连接数据库 654

实例365 DAO连接数据库 655

实例366 RDO连接数据库 656

实例367 ODBC连接数据库 657

20.2浏览数据库 659

实例368通过文本框浏览数据库 659

实例369通过表格单页浏览数据库 661

实例370使用表格多页浏览数据库 662

20.3数据查询 663

实例371通用查询 663

实例372模糊查询 664

实例373逻辑查询 666

实例374空数据查询 667

实例375时间段查询 668

实例376多表查询 670

20.4编辑数据表 671

实例377录入数据 671

实例378批量修改数据 673

实例379批量删除数据 675

20.5存储过程、视图和触发器 676

实例380视图的应用 676

实例381触发器的应用 678

实例382存储过程的应用 680

20.6备份、恢复数据 681

实例383附加数据库 681

实例384备份数据库 683

实例385恢复数据库 684

20.7使用代码维护数据库 685

实例386新建数据库和数据表 685

实例387提取数据表结构 688

实例388修改数据表结构 690

实例389删除无用的数据表 691

第21章 Delphi与SQL Server 693

21.1连接数据库 694

实例390使用ADO连接SQL Server2000数据库 694

实例391如何使用ODBC连接SQLServer数据库 696

21.2浏览数据库 698

实例392通过文本框浏览数据库 698

实例393通过DBGrid表格浏览数据 700

21.3数据查询 701

实例394通用查询 702

实例395模糊查询 703

实例396逻辑查询 705

实例397空数据查询 706

实例398时间段查询 707

实例399多表查询 709

21.4编辑数据表 710

实例400录入数据 710

实例401批量修改数据 713

实例402批量删除数据 715

21.5存储过程、视图和触发器 716

实例403存储过程的应用 716

实例404视图的应用 719

实例405触发器的应用 721

21.6备份、恢复数据 723

实例406附加数据库 723

实例407备份数据库 724

实例408恢复数据库 726

21.7使用代码维护数据库 728

实例409新建数据库和数据表 728

实例410修改数据表结构 732

实例411删除无用数据表 735